令人不悦的Error--requests.exceptions.ProxyError

大家好,我是老表,这个系列会记录我在编程中遇到的一些问题和解决方法,将直接以遇到的报错作为标题,这样更能方便其他学习者在浏览器中搜索到问题解决方法,也欢迎大家在评论、留言区多交流,谈谈自己的理解或者问题。

比如令人不悦的–requests.exceptions.ProxyError就是一个很好的示范。

【2021.8.27更新】感谢一飞秒觉悟在评论区给出的简单解决方法,直接在代码中加入以下代码即可:

# 压根儿不用这么麻烦,直接两种方式: 
# 方法一:
session = requests.Session()
session.trust_env = False
response = session.get('http://ff2.pw') 

# 方法二:(多人亲测可以直接结局这个问题)
proxies = { "http": None, "https": None}
requests.get("http://ff2.pw", proxies=proxies)

# 都可以绕过系统设置的代理就好了

 

以下内容为我自己之前解决问题的方法,也可以参考。

觉得文章对你有帮助,可以给博主一个赞,感谢。

看到这样的错误你还能忍吗?

也许你会说,小问题啊。。。可这个却困扰小编了一下午,接下来看看小编是怎么解决的吧。

我一开始以为是模块问题,然后自己写了个测试代码,简单的用 request请求 百度音乐。

运行后,果然还是出现了这个问题:

raise ProxyError(e, request=request)
requests.exceptions.ProxyError: HTTPConnectionPool(host='127.0.0.1', port=8087): 
Max retries exceeded with url: http://music.baidu.com/search?key=%E6%9D%8E%E5%81%A5
(Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.
connection.HTTPConnection object at 0x0000020BDB60E400>: Failed to establish a new 
connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。',)))

既然觉得是模块出了问题,那就卸载了重装吧~

可···麻叶,卸载倒是特别正常,可,这安装,尼玛,有点恐怖。。。

but,我终于注意到一个问题,Proxy == 代理,那会不会是网络的问题,于是小编马上把网断了,又连接上手机热点,然后兴致高扬的把程序重新运行一遍,果然还是不行,

那能怎么办呢,百度了一下,没有相关的介绍,还是只有看错误提示了,再次注意到 proxy 这个词,好像,我们翻墙会用的这个词,既然不是网络本身的问题,那代理,代理,代理···对了,代理设置,发现问题的我急忙忙的跑到 设置->网络和INTERNET->代理,一看,吓我一跳:

难怪我本地访问不了,原来就是你个小祸害,关闭代理,再次安装模块,运行代码,终于一路顺畅了,哈哈。

个人微信公众号(账号:xksnh888),分享python学习资源,欢迎扫描关注,互相学习。

### 解决Hugging Face访问时遇到的 `ProxyError` 问题 当尝试通过 Python 的 `requests` 库访问 Hugging Face 并遭遇 `ProxyError` 错误时,这通常意味着客户端与目标服务器之间的代理配置存在问题。具体来说,在设置 HTTP 或 HTTPS 请求的过程中,如果指定了不正确的代理地址或端口号,则可能会触发此类异常。 对于这个问题的一个常见处理方式是在发起请求前仔细确认所使用的代理服务是否正常工作以及其 IP 地址和端口信息无误。下面给出了一种可能有效的解决方案: #### 方法一:检查并修正代理设置 确保代理服务器本身可以正常使用,并且在代码中正确设置了代理参数。例如,假设有一个本地运行的代理位于 `127.0.0.1:9180`,那么应该像这样定义代理字典[^1]: ```python proxy = '127.0.0.1:9180' proxies = { 'http': 'http://' + proxy, 'https': 'https://' + proxy } ``` 接着,在发送 GET 请求给 Hugging Face API 时传入此代理配置: ```python import requests url = "https://huggingface.co/api/models" response = requests.get(url, proxies=proxies) print(response.status_code) ``` #### 方法二:禁用代理 有时也可能是因为不必要的代理导致了通信失败。在这种情况下,可以通过移除或忽略任何预设的环境变量中的代理设定来解决问题。可以在调用 `requests.get()` 函数之前临时清除这些环境变量的影响,或者直接指定为空白的代理列表[] 来绕过默认代理设置[^2]。 ```python import os os.environ['no_proxy'] = '*' # 或者显式传递空代理字典 proxies = {} response = requests.get(url, proxies=proxies) ``` #### 方法三:更新证书库 另一个潜在的原因可能是由于 SSL/TLS 握手过程中出现了验证错误而引发的安全层面上的问题。为了排除这种情况的可能性,建议保持系统的 CA 根证书是最新的版本,并考虑安装最新的 OpenSSL 和其他依赖项以支持更广泛的加密算法集[^3]。 此外,还可以尝试使用自定义的会话对象来自定义信任存储路径,从而加载特定于应用程序的信任链文件(如果有提供的话)。 ```python session = requests.Session() session.verify = '/path/to/certfile.pem' # 替换为实际路径 response = session.get(url) ``` 以上三种方法可以帮助解决因代理引起的 `ProxyError` 异常情况下的 Hugging Face 访问难题。当然,具体情况还需要根据自身的网络状况和个人需求做出适当调整。
评论 52
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简说Python

多多少少都是爱,感谢充电。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值