欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

HTTP 请求 400错误分析及解决方法

最编程 2024-01-16 10:44:52
...

5/9/2017 8:47:13 AM


问题描述

手机app发送Http请求服务器资源时,报400 Bad Request错误。

分析

4xx的响应结果表明客户端是发生错误的原因所在。

  1. 400 Bad Request
    • 该状态码表示请求报文中存在语法错误,需修改请求的内容后再次发送请求。
  2. HTTP报文
    • HTTP报文本身是由多行数据组成的字符串文本,由报文首部和报文主体组成
      • 请求行
      • 报文首部
      • 空行
      • 报文主体
    POST /xx HTTP/1.1
    Host:index.html
    ...
    空行
    报文主体
    
  3. http请求参数中含有 & 或者空格,则必须URL编码
  4. GET请求时,参数含有中文,也需要URL编码

定位

  1. 定位到目标请求代码,发现日期参数为xxxx年 xx月 xx日 xx时 xx分 xx秒字符串且未进行URL编码

解决

  1. URLEncoder.encode(url, "UTF-8");对url进行UTF-8编码,将空格去除

总结

  1. 根据错误现象,分析可能导致问题发生的原因
  2. 定位出错位置,找到出错原因
  3. 修复

PS:
- 401 Unautorized 需认证或认证失败
- 403 Forbidden 不允许访问资源
- 404 Not Found 服务器上没有请求资源

推荐阅读