【问题标题】:CURL GET escaping double quoteCURL GET 转义双引号
【发布时间】:2020-10-09 01:58:00
【问题描述】:

我正在尝试发送 GET 请求以检索 JSON 结果。

这个非常适合我:

curl -i -H "Accept: */*" -X GET 'http://10.50.227.58:30000/api/v1/query?query=sum(container_memory_working_set_bytes)by(container_name,pod_name)&start=1598860800&end=1598860859';echo

但是,我需要的是下面,无论我尝试了什么都失败了(例如,“,使用 %22)等等。

curl -i -H "Accept: */*" -X GET 'http://10.50.227.58:30000/api/v1/query?query=sum(container_memory_working_set_bytes{container_name!="POD"})by(container_name,pod_name)&start=1598860800&end=1598860859';echo

谁能帮帮我?

非常感谢。

【问题讨论】:

    标签: url curl get escaping


    【解决方案1】:

    您必须使用 --data-urlencode 对 URL 进行编码

    curl -G -X GET \
           --data-urlencode 'query=sum(container_memory_working_set_bytes{container_name!="POD"})by(container_name,pod_name)' \
           --data-urlencode 'start=1598860800' \
           --data-urlencode 'end=1598860859' \
           http://10.50.227.58:30000/api/v1/query
    

    【讨论】:

      【解决方案2】:

      试试:

      \"
      

      '\"'
      

      例子:

      $ echo 'hello'\"'world'
      hello"world
      

      或者先用双引号转义,然后在里面用单引号

      【讨论】:

      • 感谢您的帮助。不幸的是,两者都没有工作......
      猜你喜欢
      • 1970-01-01
      • 2020-11-26
      • 1970-01-01
      • 2013-06-17
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多