CURL GET 转义双引号

CURL GET escaping double quote

我正在尝试发送 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

谁能帮帮我?

非常感谢。

尝试:

\"

'\"'

示例:

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

或者先用双引号转义,再用单引号转义

您必须使用 --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