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

TCP Socket实现HTTP客户端遇HTTP/1.1 400 Bad Request错误求助

排查HTTP客户端400 Bad Request错误

你的代码返回400错误,核心问题出在String peticio的HTTP请求格式不符合协议规范,具体问题和修复方案如下:

存在的问题

  • 缺少Host请求头:HTTP/1.1协议强制要求所有请求必须包含Host头,用于指定目标服务器的主机标识,当前请求未提供该头,这是触发400错误的主要原因。
  • Accept头格式错误:HTTP请求头的标准格式是头字段名: 对应值,你写的Accept只有字段名,没有: 值的部分,不符合协议要求。
  • 请求结尾未标记头部结束:HTTP请求的头部需要以**两个连续的\r\n**作为结束标记,当前请求结尾只有一个\r\n,服务器无法正确识别请求边界。

修复后的请求字符串

将String peticio替换为以下内容:

String peticio = "HEAD /xai/xai.html HTTP/1.1\r\n" +
                 "Host: " + http_server_address + "\r\n" +
                 "Accept: text/html,application/xhtml+xml,*/*\r\n" +
                 "\r\n";

修复说明

  1. 新增Host头:值直接使用传入的http_server_address,满足HTTP/1.1的强制要求。
  2. 修正Accept头:补充了合法的媒体类型取值(可根据实际需求调整,比如只写*/*表示接受所有类型)。
  3. 末尾添加空行:最后单独的\r\n确保请求头部正确结束,让服务器能正常解析请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:55:11