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

特定URL请求无响应:Python请求代码运行超时如何解决?

解决请求目标URL超时无响应的问题

针对你遇到的请求zozo.jp相关URL长时间无响应的问题,可按以下步骤排查修复:

1. 强制设置请求超时时间

requests.get默认无超时限制,会导致程序无限等待服务器响应。必须添加timeout参数,明确连接超时和读取超时的阈值:

# 示例:连接超时5秒,读取超时10秒
response = requests.get(url, headers=header, timeout=(5, 10))

2. 精准捕获异常,定位问题原因

原代码的except:过于宽泛,无法得知具体错误类型(是超时、连接失败还是被反爬拦截)。改为捕获具体的请求异常:

try:
    url="http://zozo.jp/shop/bestpackingstore/?price=proper&p_ssy=2015&p_ssm=5&p_ssd=13&p_sey=2015&p_sem=5&p_sed=13&dstk=2"
    header = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
    response = requests.get(url, headers=header, timeout=(5, 10))
    print(response.text)
except requests.exceptions.RequestException as e:
    print(f"请求出错: {str(e)}")
    response = ""

3. 应对网站反爬机制

目标网站可能存在反爬策略,可尝试以下调整:

  • 更新User-Agent为当前主流浏览器的标识,避免使用过时版本
  • 添加Referer头,模拟从网站内部跳转的请求:
    header = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Safari/605.1.15',
        'Referer': 'http://zozo.jp/'
    }
    
  • 使用requests.Session()保持会话,模拟浏览器的持续连接状态

4. 尝试使用代理IP

如果你的IP被目标网站限制,可通过代理IP发起请求:

proxies = {
    'http': 'http://your-proxy-ip:port',
    'https': 'https://your-proxy-ip:port'
}
response = requests.get(url, headers=header, timeout=(5, 10), proxies=proxies)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 17:45:17