项目需要,需要以自身项目所写的接口做为服务端被调用,前端H5调用该接口是没有任何问题的,然而自己用Http post请求来调用的时候却出现了如下错误:
java
.io
.IOException
: Server returned HTTP response code
: 500 for URL
: 你的路径
at sun
.net
.www
.protocol
.http
.HttpURLConnection
.getInputStream0
(HttpURLConnection
.java
:1894)
at sun
.net
.www
.protocol
.http
.HttpURLConnection
.getInputStream
(HttpURLConnection
.java
:1492)
at com
.deppon
.module
.common
.util
.HttpRequestUtil
.httpPost(HttpRequestUtil
.java
:195)
.
.
.
上网查了很多资料,答案很多,试了好几种都没有解决,然后分析了代码,唯一可能有错误的只有参数有问题,但有的参数没有问题,换个参数就会有出现这个问题,最终发现是参数中含有空格字符,也就是参数的编码有问题,使用**URLEncoder.encode()**这个方法就解决了这个问题。
String param
= java
.net
.URLEncoder
.encode(content
, "UTF-8");
最后还得感谢这位老铁,看了他的分享才解决的
https://blog.csdn.net/u012012900/article/details/69943572