使用Python请求http/https时设置失败重试次数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python请求http/https时设置失败重试次数相关的知识,希望对你有一定的参考价值。

使用Python的requests库时,默认是没有失败时重试请求的,通过下面的方式可以支持重试请求

设置请求时的重试规则

import requests
from requests.adapters import HTTPAdapter

s = requests.Session()
a = HTTPAdapter(max_retries=3)
b = HTTPAdapter(max_retries=3)
#将重试规则挂载到http和https请求
s.mount(‘http://‘, a)
s.mount(‘https://‘, b)

请求Url

上面设置完毕后,通过改Session的请求就可以支持失败重试

r = s.get(‘http://api.map.baidu.com/geocoder?location=39.90733345,116.391244079988&output=json‘)
# 返回的状态码
r.status_code
# 响应内容,中文为utf8编码
r.content
# 响应的字符串形式,中文为unicode编码
r.text
# 响应头中的编码
r.encoding
# 响应头信息
r.headers

以上是关于使用Python请求http/https时设置失败重试次数的主要内容,如果未能解决你的问题,请参考以下文章

python http请求时使用GET返回成功,使用POST却返回失败

Qt发起Http/Https请求

如果失败,拉取请求触发的 GitHub 操作不会锁定“合并”按钮

现在为啥我使用fiddler4抓取iphone上开发版的小程序的https包点击时提示“网络请求失败”

python gitlab api 合并请求失败,出现 gitlab.execeptions.GitlabMRClosedError 405

设置 <sessionState cookieless="AutoDetect" /> 时 POST 请求失败