加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python requests.get代理无法正常工作?

发布时间:2020-12-20 13:37:18 所属栏目:Python 来源:网络整理
导读:我是新开发者,所以请原谅我的无知. 我试图使用代理访问Python中的一些网页.我已经尝试使用urllib2和请求模块以及我相信正在工作的各种代理.但是,当我去网站验证我的IP是否显示为代理时,它仍然显示我的实际IP地址而不是代理! 这使我得出结论,有四种可能的事
我是新开发者,所以请原谅我的无知.

我试图使用代理访问Python中的一些网页.我已经尝试使用urllib2和请求模块以及我相信正在工作的各种代理.但是,当我去网站验证我的IP是否显示为代理时,它仍然显示我的实际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反弹,这表明他们实际上正在使用此标头.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读