Thoughts on software and people.


Curl with Cookies and Headers

06/17/2010

Every now and then I find myself needing to make an http request with specific cookies and headers to help debug an issue. And every time I resort to the curl manpage and try a few times until I get the right incantation. So, to save myself time in the future, here is an example:

curl -v --cookie "cookieName=cookieValue" --header "Accept-Language: en" --header "X-Forwarded-For: 123.123.123.123" "http://localhost:8080/somepage"
  • -v
    Tells curl to be verbose, useful for seeing if your headers are being sent.
  • --cookie "cookieName=cookieValue"
    Tells curl to send the cookie header with the given value. Multiple cookies can be sent using "cookieName1=cookieValue1;cookieName2=cookieValue2".
  • --header "headerName: headerValue"
    Tells curl to add the header line you specified. You can send multiple headers by giving multiple --header arguments (see above).

The ability to hand-craft HTTP requests is a great feature of curl and makes it a great debugging tool.


comments powered by Disqus