2013-03-19 104 views
2

我在Web服务器中有一个小的PHP代码。 PHP代码只需登录该做的请求,这一行的人的IP:在python中添加请求中的Http_X_Forwarded_For头部

$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代码不显示1.2.3.4如果我已经在我的puthon代码中设置它?我该怎么做才能迫使网络应用程序向我展示“假”IP?

谢谢!

回答

4

urllib(Python)端的标题应该是X-Forwarded-For。然后,您的网络服务器将其读入$_SERVER中读取的HTTP_X_FORWARDED_FOR环境变量中。

opener.addheaders = [('X-Forwarded-For','1.2.3.4'),] 
+0

非常感谢!愚蠢的失败!再次感谢 – user1618465 2013-03-19 01:23:43