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


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 服务器上没有请求资源

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本篇文章篇幅比较长,先来个思维导图预览一下。 一、概述 1.计算机网络体系结构分层 2.TCP/IP 通信传输流 ...
    涤生_Woo阅读 55,270评论 24 557
  • 1. 网络基础TCP/IP HTTP基于TCP/IP协议族,HTTP属于它内部的一个子集。 把互联网相关联的协议集...
    yozosann阅读 3,470评论 0 20
  • 本文摘自《HTTP权威指南》 看完这篇文章你会理解以下概念:报文是如何流动的HTTP报文的三个组成部分(起始行、首...
    廖少少阅读 1,566评论 0 7
  • 第一章、HTTP概述1、Web浏览器、服务器和相关的Web应用程序都是通过HTTP相互通信的,HTTP是现代全球因...
    横冲直撞666阅读 659评论 0 1
  • 这几天在读的是《万历十五年》,中间数次想到康熙。简单说说联想到的一些人事,当做这次读书计划收尾的分享吧~ 《万历十...
    乔不明白阅读 483评论 0 0