Monday, April 23, 2012

Linux / Unix curl: Pass HTTP Referer

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.

No comments:

Post a Comment