【发布时间】:2017-09-19 20:03:10
【问题描述】:
我有以下 cURL 请求:
curl -H 'Host: example.com' -H 'Accept-encoding: gzip, deflate' -H 'Accept: /' -H 'User-Agent: iPhone' -H '密钥:04d798d5ed2e560fb596bcfc3838fec0' -H '日期:2017-04-23T00:57:00.05+0200' -H '内容类型:应用程序/json' --data-binary '{"RegDate": "2017-04- 23", "用户名": "JamesRicky", "密码": "0001"}' 'example.com/user'
它在 Linux 上完美运行,但在 Windows 上(使用命令提示符/Powershell),它给了我以下响应:
curl: (6) Couldn't resolve host 'example.com''
curl: (6) Couldn't resolve host 'gzip,'
curl: (6) Couldn't resolve host 'deflate''
curl: (6) Couldn't resolve host '*'
curl: (6) Couldn't resolve host 'iPhone''
curl: (6) Couldn't resolve host '04d798d5ed2e560fb596bcfc3838fec0''
curl: (6) Couldn't resolve host '2017-04-23T00:57'
这是因为命令提示符如何处理双引号/单引号。在过去的 30 分钟里,我一直在尝试弄清楚如何在 Windows 上对其进行格式化。
我尝试了以下方法:
1.
curl -H "Host: example.com" -H "Accept-encoding: gzip, deflate" -H "Accept: /" -H "User-Agent: iPhone" -H "Secret-Key: 04d798d5ed2e560fb596bcfc3838fec0" - H "日期:2017-04-23T00:57:00.05+0200" -H "内容类型:应用程序/json" --data-binary ^"{^"RegDate^": ^"2017-04-23^" , ^"用户名^": ^"JamesRicky^", ^"密码^": "^0001^"}^" ^"example.com/user^"
2.
curl -H "Host: example.com" -H "Accept-encoding: gzip, deflate" -H "Accept: /" -H "User-Agent: iPhone" -H "Secret-Key: 04d798d5ed2e560fb596bcfc3838fec0" - H "日期:2017-04-23T00:57:00.05+0200" -H "内容类型:应用程序/json" --data-binary \"{\"RegDate\": \"2017-04-23\" , \"用户名\": \"JamesRicky\", \"密码\": "\0001\"}\" \"example.com/user\"
以上都不起作用...
任何想法如何格式化第一个 cURL 请求以便它可以在 Windows 上工作?
【问题讨论】:
-
我没有在 Windows 上尝试使用 curl,但通常三个(!!!)连续双引号被视为单个双引号(但是字符串的一部分)。 IE。
curl ... --data-binary "{"""RegDate""": """2017... 0001"""}" ...。更多信息:stackoverflow.com/a/15262019/1482455