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

使用Python sockets发送HTTP GET请求出现408超时的问题求解

可能导致408请求超时的原因如下
  • 请求头不符合HTTP协议规范,缺少结束标记
    HTTP 1.1 协议要求请求行+所有请求头结束后,必须额外加一个空行(即连续的\r\n\r\n)标识请求头全部发送完成。你当前代码里最后一个请求头Cookie结尾只有1组\r\n,服务器会认为你还在继续发送请求头内容,长时间等待不到结束标记就会返回408超时,仅需要把Cookie行的结尾改为\r\n\r\n即可修复该问题。
  • HTTPS站点未做TLS握手直接发送明文请求
    如果你的请求目标是HTTPS站点(对应端口一般为443),直接用普通TCP socket发送明文HTTP请求是无效的,服务器会等待你发送TLS握手报文,超时后就会返回408。这种情况需要用ssl.wrap_socket把普通socket包装为TLS加密socket后再发送请求。
  • HTTP头中Host字段与实际请求域名不匹配
    你代码里的Host头用了占位符{insert host here},如果实际运行时没有替换成和connect参数里一致的HOST值,大部分做虚拟主机部署的站点无法匹配到对应的站点,不会处理你的请求,等待超时后返回408。
  • 编码异常导致请求头损坏
    你当前用ascii编码请求内容,如果请求头里包含非ASCII字符(比如Cookie、Host里有中文或者特殊符号),会出现编码错误,发送的请求头格式错乱,服务器无法识别到完整的请求结束标记,进而触发超时。
  • 站点反爬校验拦截
    部分站点会校验请求头的顺序、特殊字段、甚至TCP层的指纹特征,就算你复制了Chrome的请求头,socket原生发送的请求和真实浏览器的特征存在差异,会被站点的WAF拦截,不返回响应直到超时。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:57:01