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