gpt4 book ai didi

Python requests.get 代理不工作?

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:48 26 4
gpt4 key购买 nike

我是新开发者,请原谅我的无知。

我正在尝试使用代理访问 Python 中的某些网页。我尝试将 urllib2 和 requests 模块与我认为有效的各种代理结合使用。但是,当我去一个站点验证我的 ip 是否显示为代理时,它仍然显示我的实际 ip 地址而不是代理!

这让我得出结论,有四种可能的事情正在发生:

  1. 这些模块坏了。这似乎不太可能,但有可能。
  2. 我的代码不正确。极有可能,但我无法确定具体的错误。
  3. 有一些方法可以检测到根 IP,即使它们是通过代理路由的。
  4. 我没有想到的事情。

感谢任何帮助!

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 header 值,因此您的选项 3 最有可能。

您的所有示例肯定都在使用我的原始 IP 地址而不是我的代理地址,除了当我通过 VPN 反弹时,这表明它们实际上在使用此 header 。

关于Python requests.get 代理不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18950119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com