日期:2014-05-20  浏览次数:20780 次

请教一个JAVA模拟HTTPPOST的问题
表单的类型是multipart/form-data,所以在JAVA中使用 MultipartEntity entity 模拟POST,

  entity.addPart("username","name");
  entity.addPart("password","pw");
  ...
  post.setEntity(entity); //post是HttpClient

通过抓包对比,发现浏览器提交的数据是这样的

  Content-Disposition: form-data; name="username"
  name
  -----------------------------7db1c628703ac
  Content-Disposition: form-data; name="password"
  pw
  -----------------------------7db1c628703ac
  Content-Disposition: form-data; name="expires"
  on
  -----------------------------7db1c628703ac
  ......

但模拟的包是
  Content-Disposition: form-data; name="username"
  Content-Type: text/plain; charset=US-ASCII
  Content-Transfer-Encoding: 8bit
  name
  --BAFTqqM-XaKJ8apaCiaGa1wAEzqG2sm4rqCuHLQ
  Content-Disposition: form-data; name="password"
  Content-Type: text/plain; charset=US-ASCII
  Content-Transfer-Encoding: 8bit
  pw
  --BAFTqqM-XaKJ8apaCiaGa1wAEzqG2sm4rqCuHLQ
  Content-Disposition: form-data; name="expires"
  Content-Type: text/plain; charset=US-ASCII
  Content-Transfer-Encoding: 8bit
  on
  ......

结果我收到服务器的回应是空的,内容如下。

  O6#(E[i@=((7rVP 4tPe
  HTTP/1.1 
  Connection: Close
  Content-Length: 0
请问这是怎么回事,为什么我得不到回应呢?是发送的数据的问题吗?
User-Agent、ontent-Type、Referer等等都设置了 和浏览器包一样,但就是无法正确得到回应


------解决方案--------------------
又是一个自问自答的楼主呀..恭喜楼主解决问题啦
顺带接分
------解决方案--------------------
接分,我正好也要做这个