简体   繁体   中英

Double / Single Quotes in cURL Windows

I have the following cURL request:

curl -H 'Host: example.com' -H 'Accept-encoding: gzip, deflate' -H 'Accept: / ' -H 'User-Agent: iPhone' -H 'Secret-Key: 04d798d5ed2e560fb596bcfc3838fec0' -H 'Date: 2017-04-23T00:57:00.05+0200' -H 'Content-type: application/json' --data-binary '{"RegDate": "2017-04-23", "Username": "JamesRicky", "Password": "0001"}' 'example.com/user'

It works perfectly on Linux, but on Windows (using Command Prompt / Powershell), it gives me the following response:

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'

This is because of how Command Prompt handles Double / Single quotes. I have been trying for the past 30 minutes to try to figure out how I would format it on Windows.

I tried the following things:

1.

curl -H "Host: example.com" -H "Accept-encoding: gzip, deflate" -H "Accept: /" -H "User-Agent: iPhone" -H "Secret-Key: 04d798d5ed2e560fb596bcfc3838fec0" -H "Date: 2017-04-23T00:57:00.05+0200" -H "Content-type: application/json" --data-binary ^"{^"RegDate^": ^"2017-04-23^", ^"Username^": ^"JamesRicky^", ^"Password^": "^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 "Date: 2017-04-23T00:57:00.05+0200" -H "Content-type: application/json" --data-binary \\"{\\"RegDate\\": \\"2017-04-23\\", \\"Username\\": \\"JamesRicky\\", \\"Password\\": "\\0001\\"}\\" \\"example.com/user\\"

None of the above works...

Any ideas how to format the first cURL request so it will work on Windows?

See this thread. The quick answer is that you may need to use the unicode-encoded double-quote (") or single-quote (\').

https://stackoverflow.com/a/18612754/279782

Inside the single or double qouted element, escape additional single or double quotes with a backslash.

Per https://stackoverflow.com/a/15828662/147637

This works great on curl on win 10 command line.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM