1 Long: header 2 Short: H 3 Arg: <header> 4 Help: Pass custom header LINE to server 5 Protocols: HTTP 6 --- 7 8 Extra header to include in the request when sending HTTP to a server. You may 9 specify any number of extra headers. Note that if you should add a custom 10 header that has the same name as one of the internal ones curl would use, your 11 externally set header will be used instead of the internal one. This allows 12 you to make even trickier stuff than curl would normally do. You should not 13 replace internally set headers without knowing perfectly well what you're 14 doing. Remove an internal header by giving a replacement without content on 15 the right side of the colon, as in: -H \&"Host:". If you send the custom 16 header with no-value then its header must be terminated with a semicolon, such 17 as \-H \&"X-Custom-Header;" to send "X-Custom-Header:". 18 19 curl will make sure that each header you add/replace is sent with the proper 20 end-of-line marker, you should thus \fBnot\fP add that as a part of the header 21 content: do not add newlines or carriage returns, they will only mess things up 22 for you. 23 24 See also the --user-agent and --referer options. 25 26 Starting in 7.37.0, you need --proxy-header to send custom headers intended 27 for a proxy. 28 29 Example: 30 31 curl -H "X-First-Name: Joe" http://example.com/ 32 33 \fBWARNING\fP: headers set with this option will be set in all requests - even 34 after redirects are followed, like when told with \fB-L, --location\fP. This 35 can lead to the header being sent to other hosts than the original host, so 36 sensitive headers should be used with caution combined with following 37 redirects. 38 39 This option can be used multiple times to add/replace/remove multiple headers. 40