在 python 中的请求中添加 Http_X_Forwarded_For 标头

问题描述 投票:0回答:1

我在网络服务器中有一小段 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 之外的其他 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')

如果我在Python代码中设置了PHP代码,为什么它没有1.2.3.4?如何强制网络应用程序显示“假”IP?

php python http-headers
1个回答
6
投票

标头应为 urllib (Python) 端的

X-Forwarded-For
。然后,您的网络服务器将其读取到您从
HTTP_X_FORWARDED_FOR
读取的
$_SERVER
环境变量中。

opener.addheaders = [('X-Forwarded-For','1.2.3.4'),]
© www.soinside.com 2019 - 2024. All rights reserved.