You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python requests库如何取消超时限制,持续等待慢速站点返回响应?

解决requests向慢网站发请求超时问题的方案

核心逻辑

requests库默认不会主动触发超时,只有当你显式设置了timeout参数时,才会在超过指定时间未收到响应时抛出超时异常。遇到该问题首先检查你的代码是否配置了过短的超时时间。

具体操作方法

  • 第一步:移除请求中的timeout参数配置
    错误示例(设置了10秒超时,响应慢就会报错):
    import requests
    res = requests.get("https://你的目标网站地址", timeout=10)
    
    修正后写法(无主动超时限制,会一直等待服务端返回响应):
    import requests
    res = requests.get("https://你的目标网站地址")
    
  • 第二步:处理底层系统连接超时场景
    如果移除timeout参数后仍然出现超时报错,一般是操作系统层面的TCP默认连接超时限制导致的,可以加自动重试逻辑解决,示例如下:
    import requests
    import time
    from requests.exceptions import RequestException
    
    while True:
        try:
            resp = requests.get("https://你的目标网站地址")
            # 确认返回有效响应后跳出循环,可根据业务调整校验规则
            if resp.status_code == 200:
                break
        except RequestException:
            # 遇到异常等待3秒后重试,避免频繁请求触发反爬
            time.sleep(3)
    

注意事项

  • 永久等待可能导致进程长时间阻塞,建议结合业务场景设置一个足够长的超时阈值,例如timeout=3600(1小时超时),避免极端情况进程永久挂死。
  • 如果网站存在反爬策略,长时间等待可能被服务端主动断开连接,可以在请求中添加合理的User-Agent、Cookie等参数模拟正常浏览器请求。

内容的提问来源于stack exchange,提问作者cloudflare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:18:00