Search code examples
postcurlrequesthttp-post

Multiline curl command


I am trying to modify a curl request that was captured with Google Chrome Dev Tools.

Here is what the command looks like

curl "http://WEBSITE" -H "Host: WEBSITE" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" -H "Accept-Language: en-US,en;q=0.5" --compressed -H "Content-Type: multipart/form-data; boundary=---------------------------1184875127259" --data-binary "-----------------------------1184875127259"^

"Content-Disposition: form-data; name=""FORM1"""^

"FORM1DATA"^
"-----------------------------1184875127259"^

"Content-Disposition: form-data; name=""FORM2"""^

"FORM2DATA"^
"-----------------------------1184875127259"^

"Content-Disposition: form-data; name=""FORM3"""^

"FORM3DATA"^
"-----------------------------1184875127259"^

"Content-Disposition: form-data; name=""embed"""^

"true"^
"---------------------------1184875127259--"^
""

Form# is the name of the form and Form#Data is the data I submitted in the forms.

How would I make this be a single line curl request I can just copy into my command line and have it do the same thing that my browser did?


Solution

  • For Linux and MacOS: Use the \ escape character:

    curl "http://WEBSITE" -H "Host: WEBSITE" \
    -H "Accept: text/html,application/xhtml+xml \
    ,application/xml;q=0.9,*/*;q=0.8"
    

    For Windows: Use the ^ escape character:

    curl "http://WEBSITE" -H "Host: WEBSITE" ^
    -H "Accept: text/html,application/xhtml+xml ^
    ,application/xml;q=0.9,*/*;q=0.8"