欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > Python爬虫教程第3篇-解决使用reqeusts遇到的ProxyError异常

Python爬虫教程第3篇-解决使用reqeusts遇到的ProxyError异常

2024/10/23 23:20:23 来源:https://blog.csdn.net/Kingsea442/article/details/140297883  浏览:    关键词:Python爬虫教程第3篇-解决使用reqeusts遇到的ProxyError异常

起因

问题出现在windows电脑上,我用mac执行程序的时候并不会报错,但是如果在windows上的时候,大部分windows电脑会报错,而有些版本低的windows电脑又不会报错。

异常栈信息

HTTPSConnectionPool, Cannot connect to proxy, no such file or directory

如果你也遇到上面类似的问题可以参考下面的解决办法:

问题原因

现在 urllib3 要支持 https 代理了,那么既然配置代理是 https 就尝试用 https 的方式去连接,但是由于代理服务器其实只支持 http,所以没法处理请求,ssl 握手阶段就出错了。

以前的 urllib3 其实并不支持 https 代理,也就是说代理服务器的地址虽然大家配置的是 https,但是一直都是悄无声息地就按照 http 连接的,刚好代理服务器确实也只支持 http,所以皆大欢喜。

也就相当于是你的代理一直都是用的http,而后来urllib3 支持起https后,反而代理服务器无法正常使用,所以我们有两种解决办法:

如何解决

方案1 降低urllib3 版本:

pip install urllib3==1.25.11

方案2 重新设置代理

proxy = {"http": "http://127.0.0.1:7890","https": "http://127.0.0.1:7890"
}params = {'wd': '爬虫'}
response = requests.get('https://www.baidu.com/s', params=params, headers=headers, proxies=proxy)

proxy_host和proxy_port可以去系统设置里的代理看。
在这里插入图片描述

参考文章:

记录 python request ProxyError报错
Python request代理错误提示“HTTPSConnectionPool, Cannot connect to proxy, no such file or directory”

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com