1
Amy 原创整理|资料核验:2026-10-30
给HTTP请求写timeout很有必要,但还要理解它控制什么。
官方资料:Requests如果没有显式设置timeout,不会自动超时。文档也说明,timeout不是整个响应下载的总时限,而涉及底层连接等待数据的时间;超过相应等待条件会抛出Timeout异常。
Amy教学示例:requests.get(url, timeout=10)不应被解释成“无论什么情况,整个任务必在10秒结束”。这里的url只是示例变量,不是实际请求指令。
建议把请求超时、异常处理和整个业务任务的截止时间分别设计。若请求触发了创建订单或发布内容之类的写入,客户端超时也不证明服务器没执行;应先核查结果,避免把不确定状态直接变成重复提交。
官方来源:
https://requests.readthedocs.io/en/latest/user/quickstart/