HTTP 400 Bad request 原因

HTTP 400 Bad request 原因声明转自:HTTP400Badrequest原因正文我的代码部署在Linux测试环境,我在使用 HttpClient 发送http请求时遇到问题,请求报400Ba

大家好,又见面了,我是你们的朋友全栈君。

声明

转自:HTTP 400 Bad request 原因

正文

我的代码部署在Linux测试环境,我在使用 HttpClient 发送http请求时遇到问题,请求报 400 Bad request。网上都在说下面这两个原因。

400 是 HTTP 的状态码之一,主要有两种形式:

1、bad request:意思是 “错误的请求”;

2、invalid hostname:意思是 “不存在的域名”。

解释:

400 Bad Request 是由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。

在 ajax 请求后台数据时比较常见。产生 HTTP 400 错误的原因有:

1、前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;如需要 int,客户端传的是 String

2、前端提交的到后台的数据应该是 json 字符串类型,而前端没有将对象转化为字符串类型;

解决方法:

1、对照字段名称,类型保证一致性

2、使用 stringify 将前端传递的对象转化为字符串:即 data: JSON.stringify(param);

拿我第一个调用的接口来说,我只需要传一个String类型的参数,也不需要 json 类型,所以不符合我的情况,我的代码没有出现以上两种问题,所以貌似还有别的原因。

我是通过代理服务器来访问的 HTTP 接口。在本地调试的时候没有走代理,没有遇到该问题。所以从这里出发查找问题,最后解决了400的错误。

原因是我走代理的时候用的是 HTTP 协议,而目标地址是 HTTPS 的,所以我把目标地址改为 HTTP (也支持 HTTP )的试了一下就好了。

说的再好,不如行动。不怕慢,就怕站。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155766.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号