curl
allows to add extra headers to HTTP requests.
The HTTP headers are used to pass additional information between the client and the server.
In this article i am showing the examples of how to add header in curl
, how to add multiple headers and how to set authorization header from the Linux command line.
Cool Tip: Set User-Agent in HTTP header using cURL! Read more →
Add Header in cURL
Add header X-Forwarded-For
:
$ curl -H "X-Forwarded-For: 192.168.0.1" http://example.com
Set header Accept: application/xml
and GET
data from the server:
$ curl -H "Accept: application/xml" -X GET www.example.com
Set header Content-Type: application/json
and send data via POST
request:
$ curl -H "Content-Type: application/json" \ -X POST \ -d '{"key1":"value1","key2":"value2"}' \ http://example.com
POST
data from data.json
file:
$ curl -H "Content-Type: application/json" \ -X POST \ -d @data.json \ http://example.com
Example of the data.json
file content:
$ cat data.json { "key1":"value1", "key2":"value2" }
Set Authorization Header in cURL
Basic authentication using Username and Password:
$ curl --user <USER>:<PASSWORD> http://www.example.com
Set header with Basic authentication token:
$ curl -H "Authorization: Basic <ACCESS_TOKEN>" http://www.example.com
To generate the basic authentication token, execute:
$ echo -ne "<USER>:<PASSWORD>" | base64 --wrap 0
Set header with Bearer authentication token:
$ curl -H "Authorization: Bearer <ACCESS_TOKEN>" http://www.example.com
Set header with OAuth authentication token:
$ curl -H "Authorization: OAuth <ACCESS_TOKEN>" http://www.example.com
Set username and password for Proxy:
$ curl --proxy-user <PROXY_USER>:<PROXY_PASSWORD> http://www.example.com
If proxy requires authentication using the NTLM method, add --proxy-ntlm
option, if it requires Digest add --proxy-digest
.
Add header with API-key:
$ curl -H "<X-API-KEY>:<API_KEY>" http://www.example.com
Set Multiple Headers in cURL
Add multiple headers:
$ curl -H "Accept-Charset: utf-8" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Connection: keep-alive" http://example.com
Thank you a great guide!
Nice! Thanks bro!
Thank you