蝴蝶不菲

这不仅会更改max_retries,还会启用退避策略,该策略会使对所有http://地址的请求在重试之前休眠一段时间(共5次):import requestsfrom urllib3.util.retry import Retryfrom requests.adapters import HTTPAdapters = requests.Session()retries = Retry(total=5,                backoff_factor=0.1,                status_forcelist=[ 500, 502, 503, 504 ])s.mount('http://', HTTPAdapter(max_retries=retries))s.get('http://httpstat.us/500')根据文档说明Retry:如果backoff_factor为0.1,则sleep()将在重试之间睡眠[0.1s,0.2s,0.4s ...]。它也将强制重试,如果返回的状态代码是500,502,503或504。各种其他选项Retry可以进行更精细的控制:total –允许的重试总数。connect –重试多少个与连接有关的错误。读取 -多少次重试读取错误。redirect –要执行多少次重定向。method_whitelist –我们应重试的大写HTTP方法动词集。status_forcelist –我们应强制重试的一组HTTP状态代码。backoff_factor –在两次尝试之间应用的退避因子。raise_on_redirect –如果重定向次数已用尽,则引发MaxRetryError,还是返回响应代码在3xx范围内的响应。raise_on_status -类似含义raise_on_redirect:我们是否应该抛出一个异常,或返回响应,如果状态落在status_forcelist范围和重试次数已经用尽。raise_on_status关键字参数似乎最多已进入标准库。要使请求重试特定的HTTP状态代码,请使用status_forcelist。例如,status_forcelist = [503]将重试状态代码503(服务不可用)。默认情况下,重试仅针对以下情况触发:无法从池中获得连接。TimeoutErrorHTTPException(从Python 3中的http.client或其他httplib)引发。这似乎是低级HTTP异常,例如URL或协议格式不正确。SocketErrorProtocolError请注意,所有这些都是阻止接收常规HTTP响应的异常。如果生成任何常规响应,则不会重试。不使用status_forcelist,即使状态为500的响应也不会重试。以使其以这样的方式,其是用于与远程API或web服务器工作的更直观的行为,我会用上面的代码段中,这迫使上状态的重试500,502,503和504,所有这些都并不少见上网络和(可能)在足够大的退避期后可恢复。

python requests max retries_我可以为request.request设置max_retries吗?相关推荐

  1. python requests.exceptions.SSLError、InsecureRequestWarning: Unverified HTTPS request is be

    requests.exceptions.SSLError: HTTPSConnectionPool(host='XXX', port=443)问题 1.先检查pip有没安装cryptography,p ...

  2. python requests max retries_python requests报Max retries exceeded with url异常

    项目中有个模块是定时获取设备状态的,通过设备的http请求访问获取返回的状态码,然后根据状态码检测设备是否在线.但是最近发现连接后出现了偶尔连接不上的情况,报错如下: 2018-06-14 15:51 ...

  3. python requests max retries_Python requests“Max retries exceeded with url” error

    19-4-29补充: error1: NewConnectionError(': Failed to establish a new connection: [WinError 10060] 由于连接 ...

  4. 【爬虫 | Python】解决‘Requests Max Retries Exceeded With Url‘报错的问题

    [爬虫 | Python]解决'Requests Max Retries Exceeded With Url in Python'报错的问题 背景 解决方案 一.普遍方案 细致方案 一.问题重述 1. ...

  5. Python requests 多线程抓取 出现HTTPConnectionPool Max retires exceeded异常

    Python requests 多线程抓取 出现HTTPConnectionPool Max retires exceeded异常 参考文章: (1)Python requests 多线程抓取 出现H ...

  6. python requests form data_Python爬虫:Request Payload和Form Data的简单区别说明

    Request Payload 和 Form Data 请求头上的参数差别在于: Content-Type Form Data Post表单请求 代码示例 headers = { "Cont ...

  7. pythonrequests设置_关于python:我可以为requests.request设置max_retries吗?

    Python请求模块简单而优雅,但有一点让我感到困惑. 可以使用以下消息获取requests.exception.ConnectionError: Max retries exceeded with ...

  8. Python requests ip代理爬虫报错 HTTPSConnectionPool(host=‘xxxxx‘, port=443) Max retries exceed

    本人系统:macOS10.15.6 Catalina 场景:使用Python requests 包+ip代理池爬取网站数据 出现报错:HTTPSConnectionPool(host='xxxxx', ...

  9. Python requests ip代理爬虫报错 HTTPSConnectionPool(host=‘xxxxx‘, port=443): Max retries exceed...

    本人系统:macOS10.15.6 Catalina 场景:使用Python requests 包+ip代理池爬取网站数据 出现报错:HTTPSConnectionPool(host='xxxxx', ...

最新文章

  1. Windows上erl.exe的CPU使用率很高的问题【未解决】
  2. 004_常用浏览器内核
  3. 图像滤镜艺术---微软自拍APP滤镜实现合集DEMO
  4. Hadoop2调优(一):如何控制job的map任务和reduce任务的数量
  5. 大学期末考试综合实训试题一
  6. iOS10 资料汇总:值得回看的 10 篇 iOS 热文
  7. 操作系统的运行机制和体系机构
  8. Ubuntu使用jupyter notebook +导出PDF
  9. Miller_Rabin算法
  10. 【转】刨根究底字符编码之五——简体汉字编码方案(GB2312、GBK等)以及全角、半角、CJK
  11. kmeans算法实例及python代码-Python实现k-means算法
  12. springboot运行在eclipse报异常的问题
  13. MVC html 控件扩展【转载】
  14. 网络攻防|Web后门知识详解
  15. 一文搞懂数据结构之 递归-八皇后问题
  16. 股票量化交易有哪些潜在的风险?如何去避免?
  17. CF1009F Dominant Indices
  18. java程序员 技术成长路线
  19. matlab画柱状图函数,series函数做柱状图
  20. 手机使用电脑自带功能进行投屏

热门文章

  1. 人类评估已不是NLG的最佳标准,华盛顿大学提出全新观点,网友:那是评估人水平不行...
  2. 送一台高清航拍无人机
  3. EMNLP2020:Hugging Face获最佳demo
  4. Visual Studio Code为什么能这么牛X?
  5. JVM调优:基本垃圾回收算法
  6. 网易是世界最好的公司
  7. 爬取一万条b站评论看《工作细胞》
  8. 操作系统学习:系统调用与Linux0.12初始化详细流程
  9. ACMNO.5给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。 90分以上为A 80-89分为B 70-79分为C 60-69分为D 60分以下为E
  10. 收藏 | 有哪些相见恨晚的科研经验?