嘟嘟社区

各位大佬,问个python请求重试问题


本帖最后由 MjjKing 于 2022-2-25 17:46 编辑

我发现下面代码,设置的重试次数,只对GET请求有效,POST请求就算失败也不会重试,真坑,当然也可以写个for捕获异常实现重试几次,但就是弄不明白为啥mount方式对POST无效,求解。

直接贴不了,代码,,只能附件了。。

cs.zip

1 小时前 上传

点击文件名下载附件

447 Bytes, 下载次数: 0

代码

求解啊
本帖最后由 image 于 2022-2-25 17:54 编辑

post 没内容 直接报错了都吧?

s.post(url, data = payload, headers=headers, timeout=timeout)

巧了,我不会Python啊

image 发表于 2022-2-25 17:49
post 没内容 直接报错了都吧?

不报错,能请求进来,但是就一次

MjjKing 发表于 2022-2-25 17:53
不报错,能请求进来,但是就一次

因为urllib3 设计上就不允许重试POST 因为会导致多次插入  而GET无所谓

解决办法这里也有
https://stackoverflow.com/questions/35704392/how-to-make-python-post-requests-to-retry

想强行重试可以自己写个异常捕获。要注意数据重复提交的问题。

image 发表于 2022-2-25 18:04
因为urllib3 设计上就不允许重试POST 因为会导致多次插入  而GET无所谓

解决办法这里也有

太棒了大佬,谢谢。还是你牛逼

directlinkss 发表于 2022-2-25 18:12
想强行重试可以自己写个异常捕获。要注意数据重复提交的问题。

也是哈,请求过去了,进行了数据处理,响应不及时超时了,重试会进行第二次数据处理

from retry import retry