我是一个新开发人员,请原谅我的无知。在
我正在尝试使用代理访问Python中的一些网页。我尝试过将urllib2和requests模块与我认为有效的各种代理结合使用。但是,当我去一个站点验证我的ip是否显示为代理时,它仍然显示我的实际ip地址,而不是代理!在
这使我得出结论,有四种可能的情况:
感谢任何帮助!在
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正在被传递。所以选项3。在
您可以通过http://www.lagado.com/proxy-test运行一个请求来进一步测试这一点
这将显示您的请求所经过的任何透明代理,因此您可以测试代理是否实际工作。在
相关问题 更多 >
编程相关推荐