Having trouble escaping quotes and braces

command-prompt, curl, curly-braces, escaping, quotes

Solution

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.

Problem

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.

Original source