在Python请求中添加Http_X_Forwarded_For头部
我在一个网络服务器上有一段小的PHP代码。这段PHP代码的作用是记录访问者的IP地址,具体是通过这一行代码来实现的:
$ip = !empty($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
echo 'Your IP is:'.$ip
我想用Python写一段代码,利用HTTP_X_FORWARDED_FOR
这个头信息,来让网络服务器记录一个不同于真实IP的地址。我已经写好了这段代码:
import urllib2,cookielib
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [('HTTP_X_FORWARDED_FOR','1.2.3.4'),]
resp=opener.open('http://example.com/logIP.php')
但是为什么PHP代码没有记录我在Python代码中设置的1.2.3.4这个IP呢?我该怎么做才能让这个网络应用显示这个“假”的IP呢?
1 个回答
6
在使用urllib(Python)时,头信息应该是 X-Forwarded-For
。然后,你的网页服务器会把这个信息放到一个叫 HTTP_X_FORWARDED_FOR
的环境变量里,你可以通过 $_SERVER
来读取这个变量。
opener.addheaders = [('X-Forwarded-For','1.2.3.4'),]