Ide*_*REX 1 python django http response python-requests
我正在构建一个调用API的Web应用程序.我目前正在使用的API(它波动)具有210秒的重生时间(可能不是正确的术语).
请求中的API调用是:
r = requests.post(url ,headers=headers, auth=auth, data=json.dumps(data))
Run Code Online (Sandbox Code Playgroud)
通话后r
可以等于<Response [404]>
或<Response [200]>
.我想运行此API调用,直到它返回一个<Response [200]>
.格式是什么<Response [200]>
?
我目前的循环如下.有一个更好的方法吗?
while True:
r = requests.post(url ,headers=headers, auth=auth, data=json.dumps(data))
if (r == '<Response [200]>'): break
Run Code Online (Sandbox Code Playgroud)
您将repr()
输出与对象混淆.
响应对象有一个.status_code
属性,对此进行测试:
if r.status_code == 200:
break
Run Code Online (Sandbox Code Playgroud)
但是,要反复敲定服务直到它给出200响应,可能会阻止您的IP地址.构建某种指数退避以防止对API进行DOS操作.