python 使用代理IP报错 HTTPSConnectionPool(host=‘XXXXX‘, port=443): Max retries exceeded with url
我使用的方法是,通过浏览器设置代理IP。然后访问对应网站,可以访问,那代表代理IP没问题,如果不能访问,则代表代理IP有问题。打开chrome设置->系统->打开您计算机的代理设置->开启代理->填写IP和端口->保存。目前我自己用以上方法都解决了。
出现报错情况:
在使用 requests.get(url, params=params, headers=headers, proxies=proxies) 的时候报错。
报错内容:exceptions.MaxRetryError: HTTPSConnectionPool(host='XXXXX', port=443): Max retries exceeded with url: XXXXXXX 。
如果不用代理(requests.get(url, params=params, headers=headers))则可以正常请求。
解决思路:
1.首先:确认代理IP是否可以正常使用(大概率就是代理IP不能用,直接买吧,免费的基本都没法用)
我使用的方法是,通过浏览器设置代理IP。然后访问对应网站,可以访问,那代表代理IP没问题,如果不能访问,则代表代理IP有问题。
浏览器代理IP设置:(其他的可以自行查找,基本都差不多)
打开chrome设置->系统->打开您计算机的代理设置->开启代理->填写IP和端口->保存
win10
win2012

2. 标题检查下面几个问题(我就是这里踩的坑)
- 代理的
proxies设置中,每个键值对,无论是key还是value中,的http和https都必须用小写,因为用大写后代理会无效(亲测),走的还是本机的IP。 - 代理的
proxies设置中,无论是http还是https对应的值,开头都是http。
例如:
proxies = {
'http': 'http://123.12.12.12:8080',
'https': 'http://123.12.12.12:8080'
}
- 目标网站是
https://的话,要在请求的时候增加verify=False。
参数:verify:Ture/False,默认是Ture,用于验证SSL证书开关。
例如:
proxies = {
'http': 'http://123.12.12.12:8080',
'https': 'http://123.12.12.12:8080'
}
res = requests.get(url, verify=False, proxies=proxies)
目前我自己用以上方法都解决了,基本上都是代理IP的问题,很多代理IP可以测试,用测试的如果还是不行,再尝试后面的几个方法。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)