采用httpclient插件的post方式发送二进制数据流到http服务端
1.背景介绍
最近项目中发布了一个HTTP服务,HTTP服务端采用二进制流来接收数据,
与其他系统的同事联调的时候,总是出现一些问题,现把这些问题列出来,并在代码中得到了解决。
(1)请求的中文,服务器端接收到后为乱码
(2)客户端接收到服务器端的响应报文后,中文为乱码
(3)请求的报文中没有设置字符集,服务器报空指针异常
(4)客户端发送请求后,服务器端接收到的二进制数据的长度为0,报NegativeArraySizeExceptio异常
(5)服务端接收到客户端的报文后里面全是百分号以及英文字母(不用说,你懂的。)
也可以采用JDK自带的java.net.HttpURLConnection可以解决这个问题,但是项目中发现客户端很多同事都是采用的httpclient插件,那就用httpclient插件来发送post请求
2,