Linux / Unix curl: Pass HTTP Referer

by Vivek Gite on November 6, 2011 · 0 comments

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 http://example.com/bot.html http://www.cyberciti.biz/
 

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 www.cyberciti.biz
 

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 http://example.com/bot.html http://www.cyberciti.biz
 

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 mfc1.static.cache.cyberciti.biz:80
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.

Featured Articles:

Share this with other sys admins!
Facebook it - Tweet it - Print it -

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">
What is 2 + 7 ?
Please leave these two fields as-is:
Solve the simple math so we know that you are a human and not a bot.




Previous post:

Next post: