Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Having trouble escaping quotes and braces

I am trying to execute the following line in Command Prompt:

curl -X POST -d '{ "method" : "account_info", "params" : [ { "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"} ] }' http://s1.ripple.com:51234

However, I get the following:

curl: (6) Could not resolve host: method
curl: (7) Failed connect to :80; No error
curl: (6) Could not resolve host: account_info,
curl: (6) Could not resolve host: params
curl: (7) Failed connect to :80; No error
curl: (3) [globbing] illegal character in range specification at pos 2
curl: (3) [globbing] unmatched brace at pos 2
curl: (6) Could not resolve host: account
curl: (7) Failed connect to :80; No error
curl: (3) [globbing] unmatched close brace/bracket at pos 35
curl: (3) [globbing] unmatched close brace/bracket at pos 1
curl: (3) [globbing] unmatched close brace/bracket at pos 1
unable to parse request

I am on Windows, and the error has to do with quotes, braces, and globbing. I tried escaping quotes by preceding them with a backslash, with no luck.

like image 668
killajoule Avatar asked Jul 10 '13 01:07

killajoule


4 Answers

Do not use single quotes. Escape any double quotes within the string with a \.

curl -X POST -d "{ \"method\" : \"account_info\", \"params\" : [ { \"account\" : \"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"} ] }" http://s1.ripple.com:51234

Window's command.exe doesn't seem to support single quotes. PowerShell does, but there are still some problems when using them, so the best solution is to not use them at all.

like image 141
Manuel Görlich Avatar answered Nov 11 '22 18:11

Manuel Görlich


You can use curl -g to turn off globbing:

curl -g -X POST -d '{ "method" : "account_info", "params" : [ { "account" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"} ] }' http://s1.ripple.com:51234

Easier than escaping all those brackets.

like image 24
candu Avatar answered Nov 11 '22 19:11

candu


Try the basic one to post something.

curl -X POST --data '{"username":"username", "password":"password"}' --header "Content-Type:application/json" http://127.0.0.1:8000/your_url/
like image 29
Alok Choudhary Avatar answered Nov 11 '22 20:11

Alok Choudhary


For windows users: you can download git bash for running the below curl command.

curl http://localhost:8080/subpage --include --header "Content-Type: application/json" --request "POST" --data '{"variable": "value"}
like image 38
SHIVA BANDARI Avatar answered Nov 11 '22 20:11

SHIVA BANDARI