如果在发送请求时,因为网络抖动,从而导致当前的框架误报,应该怎么处理?

接口自动化的超时重试机制

1.超时设置

在发送请求时,加一个timeout参数
url=https://www.baidu.com
data={"username":"test22","password":"123456"}
response=requests.post(url=url,data=data,timeout=3) 设置超时时间为3s

2.重试retrying

retrying是一个python库,用来处理程序中的重试逻辑,retry库中的Retry类可以设置重试次数、异常类型、间隔时间等。
安装 pip install retrying

@retry(stop_max_attempt_number=3,wait_fixed=1000,retry_on_result=lambda x:x is None)
def request_with_retry(url):
    try:
        response=requests.get(url,timeout=3)
        if response.status_code==200:
            return response.json()
        else:
            return None
    except Exception as e:
        print("requests failed:",{e})
        
    
request_with_retry("https://www.baidu.com")  ```



使用retry装饰器为函数request_with_retry添加重试逻辑,`stop_max_attempt_number`定义了最大重试次数,`wait_fixed`定义重试之间的时间间隔,`retry_on_result`定义了返回结果是None时进行重试
posted @   cherish-github123  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示