关于HttpURLConnection测试servlet

      把数据POST给服务端后,一定要读取服务端的响应,这是必须的,否则服务端不处理.其实发送的数据被服务端接收后在缓冲中,并不是立即处理的.然后服务端把响应码和内容等反回给客户端.如果客户端只发送不接受,服务端也处理的话那不是可以变成攻击了,即使服务端什么内容也没有输出,但客户端在getInputStream的时候会把服务端的头域先接收过来,所以响应状态码等一定是读取到的,只是实体中没有数据,因为HttpURLConnection是socket包装的.用conn即使没有读到数据,那是指文档实体没有内容,但底层的socket其实发送了很多头域的内容过来.你一定要去获取 getInputStream并进行read,哪怕一点也读不到。

意思就是说,在客户端post数据给服务器的servlet后,客户端还要加上getinputream,读取服务器端发回来的内容,即使什么也没有发回,也要这样做。要不,服务器端对于post过去的数据是不进行响应的。

原文地址:https://www.cnblogs.com/dfyz/p/4191921.html