我是新开发者,所以请原谅我的无知。
我正在尝试使用代理访问Python中的一些网页。我已经尝试使用urllib2和请求模块以及我相信正在工作的各种代理。但是,当我去一个站点验证我的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)
答案 0 :(得分:1)
您的代码似乎非常正确。我怀疑这些网站实际上正在使用X_FORWARDED_FOR或其他类似的HTTP标头值,使您的选项3最有可能。
您的所有示例当然都使用我的原始IP地址而不是我的代理地址,除非我通过VPN反弹,这表明他们实际上正在使用此标头。