Python requests.get代理不工作?
我是一名新开发人员,请原谅我的无知 我正在尝试使用代理访问Python中的一些网页。我已经尝试将urllib2和请求模块与我认为有效的各种代理一起使用。但是,当我去一个站点验证我的ip是否显示为代理时,它仍然显示我的实际ip地址,而不是代理 这使我得出结论,有四种可能的情况:Python requests.get代理不工作?,python,proxy,python-requests,Python,Proxy,Python Requests,我是一名新开发人员,请原谅我的无知 我正在尝试使用代理访问Python中的一些网页。我已经尝试将urllib2和请求模块与我认为有效的各种代理一起使用。但是,当我去一个站点验证我的ip是否显示为代理时,它仍然显示我的实际ip地址,而不是代理 这使我得出结论,有四种可能的情况: 这些模块坏了。这似乎不太可能,但有可能 我的代码不正确。极有可能,但我无法具体确定任何错误 有一些方法可以检测根IP,即使它们是通过代理路由的 一些我没想到的事情 感谢您的帮助 import requests import
import requests
import urllib2
from bs4 import BeautifulSoup
# Using requests module
proxy_dict = {"http":"http://123.45.172.115:8080"}
url = 'https://check.torproject.org/'
response = requests.get(url, proxies=(proxy_dict))
html = response.content
soup = BeautifulSoup(html)
ip = str(soup.b.text)
# Using urllib2
prox = urllib2.ProxyHandler(proxy_dict)
opener = urllib2.build_opener(prox, urllib2.HTTPHandler(debuglevel=1))
urllib2.install_opener(opener)
response = opener.open(url)
你的代码似乎很正确。我怀疑这些站点实际上使用了X_FORWARDED_FOR或其他类似的HTTP头值,这使得您的选项3最有可能
您所有的示例都使用我的原始IP地址而不是代理地址,但当我通过VPN跳转时除外,这表明他们实际上正在使用此标头。我遇到了类似的问题,结果证明这是一个透明的代理,根IP正在传递。第三个选择 您可以通过运行一个请求来进一步测试这一点
这将显示您的请求所经过的任何透明代理,因此您可以测试代理是否实际工作 你似乎正确地传递了论点。您是否尝试过一些不同的“检查我的IP”网站,如果代理是透明的HTTP代理,并且正在添加包含真实IP的头?@Anorov,我尝试过,并且。如果您的理论认为代理是一个带有头的透明HTTP代理,那么我如何确定是否是这种情况?在您控制的服务器上设置一个小型PHP脚本,它只执行
我知道这是不久前发布的,但我遇到了完全相同的问题,想知道是否有人能提出一个变通方法/解决方案?如果有人有,我也想要一个变通方法。