Linux / Unix curl: Pass HTTP Referer

by on November 6, 2011 · 2 comments· LAST UPDATED November 6, 2011


How do I pass the referrer (HTTP referrer)as an HTTP header field using curl command under Linux OR Unix operating systems?

The curl client / command can send the "Referer Page" information to the Web (HTTPD) server. By default, when visiting a webpage using any HTTP client, the referrer or referring page is the URL of the previous webpage from which a link was followed. This can be changed using the following syntax:

curl --referer

This can be used for referrer spoofing. In this example change referrer information to "fooBar" to prevent a web page from gathering accurate data on the identity of the user's previously visited web page:

curl --referer fooBar

The HTTP referer can be used for testing and debugging complex setups. In this example, if you pass "debugLB" as HTTP referrer, you will see 'X-Cache' and 'Via' debug headers:

curl --referer debugLB

Sample outputs:

HTTP/1.1 200 OK
Cache-Control: max-age=5184000
Connection: Keep-Alive
Content-Type: text/html
Date: Sun, 06 Nov 2011 21:53:08 GMT
Expires: Thu, 05 Jan 2012 21:53:08 GMT
Server: nginx
Via: 1.1
X-Cache: HIT 
X-Whom: l3-biz-cyber
X-Galaxy: Andromeda-1

Please note that you need to configure web server OR app server for "debugLB" HTTP referrer in advance.

Tweet itFacebook itG+ itDownload PDF versionFound an error/typo on this page?

{ 2 comments… read them below or add one }

1 WAPTRICK October 14, 2013 at 8:51 pm

Thank you so much for this helpful resource. I was seeking this for this solution in php CURL and found the solution here. Thanks


2 DJ March 10, 2015 at 8:59 pm

Not bad. Will this work from Mac?


Leave a Comment

Tagged as: , , , , , , , , , , , , , , , , ,

Previous Faq:

Next Faq: