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

Windows唤醒后Python Requests模块挂起问题解决方案咨询

解决睡眠唤醒后requests脚本挂起的方案

这种情况确实是睡眠后系统保留的失效套接字被requests的连接池复用导致的,以下是几个实用的解决办法:

  • 强制关闭单次请求的连接
    在每次请求里添加Connection: close头,让请求完成后直接关闭连接,不进入连接池复用:

    import requests
    
    response = requests.get("你的目标URL", headers={"Connection": "close"})
    
  • 使用新会话替代全局连接池
    不要用requests的全局请求方法,每次运行脚本时创建全新的会话,避免复用之前残留的失效连接:

    import requests
    
    # 每次脚本启动都创建新会话
    session = requests.Session()
    # 可选:给会话设置默认的关闭连接头
    session.headers.update({"Connection": "close"})
    response = session.get("你的目标URL")
    
  • 添加超时与重试机制
    给请求设置超时时间,避免无限挂起,同时捕获超时异常后自动重试,适配睡眠后网络状态不稳定的情况:

    import requests
    from requests.exceptions import Timeout
    
    def fetch_url_with_retry(url, retries=3, timeout=10):
        for _ in range(retries):
            try:
                return requests.get(url, timeout=timeout, headers={"Connection": "close"})
            except Timeout:
                continue
        raise Exception("多次重试后仍无法获取数据")
    
    response = fetch_url_with_retry("你的目标URL")
    
  • 调整Windows电源设置
    关闭Windows的快速启动功能,这个功能会让系统睡眠/唤醒时保留部分硬件状态,可能导致网络套接字异常:

    1. 打开「控制面板」→「电源选项」
    2. 点击「选择电源按钮的功能」
    3. 点击「更改当前不可用的设置」
    4. 取消勾选「启用快速启动(推荐)」,保存更改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 11:27:02