【问题标题】:How to get the Response Back from the Remote Server using an HttpURLConnection Object?如何使用 HttpURLConnection 对象从远程服务器获取响应?
【发布时间】:2013-01-23 18:32:44
【问题描述】:

我正在尝试使用 HttpURLConnection 类的实例向远程服务器发送 HTTP POST 请求。虽然,我能够获得响应代码和响应消息,但当我尝试将输入流写入StringBuffer 时,我实际上无法读取任何行。

当我分析从 WireShark 发送的数据包时,我注意到远程服务器正在发送完整的响应。关于为什么我无法在 Java 程序中看到它,我唯一的猜测是因为我尝试从 InputStream 读取的时间为时已晚。

那么,我如何使用我的HttpURLConnection 对象从远程服务器读取即时的完整响应?以下是我正在使用的代码:

HttpURLConnection conn = null;
String urlStr = "...";
URL url = null;
try
{
    url = new URL(urlStr); 
    conn = (HttpURLConnection) url.openConnection();
    conn.setRequestMethod("POST");
    conn.setDoInput(true);
    conn.setDoOutput(true);
...
    BufferedReader rd = new BufferedReader(
                new InputStreamReader(conn.getInputStream()));
    StringBuilder sb = new StringBuilder();
    String line;
    while ((line = rd.readLine()) != null)
    {
         sb.append(line);
    }
    rd.close();
...
}...

【问题讨论】:

    标签: java httpurlconnection


    【解决方案1】:

    好吧,没关系。事实证明,我正在寻找的是 HTTP 响应的标头。所以,我通过查看它的标题得到了我需要的东西。 ::掌心::

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-05
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      • 1970-01-01
      • 1970-01-01
      • 2018-04-24
      • 1970-01-01
      相关资源
      最近更新 更多