java http apache客户端没有收到内容

时间:2013-11-08 06:45:48

标签: java http apache-httpclient-4.x

我正在使用Apache客户端库为http客户端将一些数据发布到我的服务器。

下面是代码,我得到状态行响应,但我没有得到内容。 但是在wireshark上我可以看到服务器响应的内容很少,例如我的代码的内容类型,位置等。我得到以下输出。

Status :: HTTP/1.1 201 Created Content null

请帮我找出错误的地方阅读内容,我是否需要一些与代理相关的设置?

HttpClient client = new DefaultHttpClient();
String line = "";      String status = "";
HttpPost post = new HttpPost("http://127.0.0.1/msg");
try {

  HttpEntity e = new StringEntity("POSTING TO SERVER FOR TESTING");
  post.setEntity(e);


  HttpResponse response = client.execute(post);
  BufferedReader rd = new BufferedReader(new
  InputStreamReader(response.getEntity().getContent()));
  status = response.getStatusLine().toString() ;
  while ((line = rd.readLine()) != null) {
    System.out.println(line);
  }

} catch (IOException e) {
  e.printStackTrace();
}

System.out.println(" Status :: "+ status + " Content " + line);

1 个答案:

答案 0 :(得分:2)

Status :: HTTP/1.1 201 Created Content null的原因是因为分配给line的最后一个值是null(这是你摆脱循环的方式)。回复可能没有任何内容。您可以根据需要使用API​​来检查标题

查看How to get headers? (java,httpclient 4.X)示例