常见 HTTP 测试问题排查
连接超时怎么办
请求发出后长时间无响应,最终提示超时。常见原因:
- 服务器离线或地址错误:先用可达性检查功能(可达性检查)测试目标 IP 是否可达
- 手机网络问题:切换 Wi-Fi / 移动数据对比测试,或确认当前网络是否有代理 / VPN
- 服务器防火墙:目标服务器是否开放了对应端口
- 超时设置过短:在应用设置中调大超时值
状态码 403 / 404 / 500 分别代表什么
| 状态码 | 含义 | 排查方向 |
|---|---|---|
| 403 Forbidden | 服务器拒绝请求 | 检查 Header 中的 Cookie / Authorization 是否正确,IP 是否被封 |
| 404 Not Found | 资源不存在 | URL 是否拼写正确,是否缺少路径段 |
| 405 Method Not Allowed | 请求方法不被支持 | 换成其他方法(比如用 POST 试试 GET) |
| 500 Internal Server Error | 服务器内部错误 | 不是客户端的问题,需要看服务器日志 |
| 502 Bad Gateway | 网关错误 | 服务器反向代理(如 Nginx)连接不上后端 |
| 503 Service Unavailable | 服务不可用 | 服务器过载或临时维护 |
返回的中文是乱码
响应体中中文显示为 ??? 或 \uXXXX 转义序列。可能原因:
- 服务器返回的编码与客户端解析不一致。查看响应头的
Content-Type中charset=值 - 在 Header 中添加
Accept-Charset: utf-8告诉服务器优先返回 UTF-8 编码 - 部分老旧站点仍使用 GBK 编码,这种情况需要服务端配合,客户端临时无法强制转换
JSON 解析失败
请求发出后或响应回来时提示 JSON 语法错误:
- 请求体 JSON 格式问题:少了引号、逗号、花括号不配对
- 响应不是 JSON 格式(可能返回了 HTML 错误页面):看响应头的 Content-Type 确认实际返回格式
请求发到了错误的服务器
这种情况比较少见,但如果手机配了代理或 DNS 解析异常,HTTP 请求可能被转发到非预期的服务器。排查:
- 暂时关闭代理 / VPN 后重试
- 确认手机 DNS 是否正常(可以切换到 114.114.114.114 或 8.8.8.8)
- 用可达性检查确认目标域名解析到的 IP 是否正确