我正在尝试使用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();
...
}...
答案 0 :(得分:0)
好的,没关系。事实证明,我在寻找的是HTTP响应标头。所以,通过查看标题我得到了我需要的东西。 ::捂脸::