最近在开发一个接口的过程中需要接收HTTP的POST请求里面正文的内容,里面的数据是XML格式的字符串,同时在接收处理完成业务后需要向对方发送HTTP的POST请求,使用到了 HttpURLConnection类,来发送出一个POST请求,同时将我处理的结果写入正文当中,原先自己测试的时候也一直没有成功发送出数据,我自己使用了
HttpServletRequest中getInputStream方法来接收数据,没有收到任何数据。
后来发现只要在使用HttpURLConnection的时候
int code = httpURLConnection.getResponseCode();
把这个方法加入,就可以正确发送数据,否则好像发送不出的
另外注意要设置它的一些属性
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
httpURLConnection.setConnectTimeout(10000);
httpURLConnection.setRequestProperty("content-type", "text/html;charset=utf-8");
httpURLConnection.setRequestMethod("POST");
其中setRequestProperty("content-type", "text/html;charset=utf-8"); 这个属性一点要设置,否则接收不到数据
在接收的时候也发现个奇怪的问题,接收不到任何的数据,后来发现我在
getInputStream方法前面使用了 getParameter方法,导致了getInputStream方法取不到任何数据,只要
把他们换下位置就可以了