解决Max retries exceeded with url的问题

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='itunes.apple.com', port=443): Max retries exceeded with url: /in/app/adobe-reader/id469337564?mt=8 
(Caused by <class 'socket.gaierror'>:

好奇怪,不知道为什么在使用requests请求,请求京东的时候出现以上的报错,开始觉得应该是因为是不是链接出错了呢?可是我人工复制了对应的链接,完全是可以访问的呢?
。。。。。。。
过了好多天,这问题还是无解,明明为什么有时候可以访问,有时候访问不了呢?
今天再次启动研究模式。。。。。
根据查询网上的解决方案,有很多的说法,但是有一个说法是因为http连接太多没有关闭导致的,
我折磨了一下,好像是这样子的一个原因,就试了一下。
解决方法有两个:

1、增加重试连接次数:
 requests.DEFAULT_RETRIES = 5

2、关闭多余的链接:

  requests使用了urllib3库,默认的http connection是keep-alive的,requests设置False关闭。

s = requests.session()
s.keep_alive = False

如果实在还有问题,那就time.sleep(5),让服务器缓冲一下吧。

 
posted @ 2017-09-08 16:55  你若精彩,蝴蝶自来  阅读(33955)  评论(1编辑  收藏  举报