当前位置:   article > 正文

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

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

起因

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

异常栈信息

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

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

问题原因

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

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

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

如何解决

方案1 降低urllib3 版本:

pip install urllib3==1.25.11
  • 1

方案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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

参考文章:

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/811441
推荐阅读
相关标签
  

闽ICP备14008679号