Java HttpURLConnection:getResponseMessage()、getInputStream()和getContent()之间的差异
团队 我遇到了如下代码Java HttpURLConnection:getResponseMessage()、getInputStream()和getContent()之间的差异,java,httpurlconnection,Java,Httpurlconnection,团队 我遇到了如下代码 private static String getResponse (HttpURLConnection connection) throws Exception { String responseString = null; int responseCode = connection.getResponseCode(); String responseMessage = connection.getResponseMessage(); Log.d
private static String getResponse (HttpURLConnection connection) throws Exception
{
String responseString = null;
int responseCode = connection.getResponseCode();
String responseMessage = connection.getResponseMessage();
Log.debug("%s - Response code is \"%s\" with message \"%s\"",
methodName, responseCode, responseMessage);
String line = null;
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader bufferedReader = null;
try {
InputStream inputStream = connection.getInputStream();
if (inputStream != null) {
bufferedReader = Util.bufferedReader(
inputStream, Util.Encod.UTF8);
StringBuilder response = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
response.append(line);
response.append(Util.getNewLine());
}
responseString = response.toString();
}
}
finally {
if (bufferedReader != null) {
bufferedReader.close();
}
}
Log.signature.debug(
"%s - Received following JSON response : %s",
methodName,
responseString);
}
return responseString;
}
在这里,他们已经收到了如下的回复
String responseMessage = connection.getResponseMessage()
那么为什么他们再次使用connection.getInputStream()
有什么区别吗
如果可能的话,请您也解释一下下面的示例或什么时候使用上面的getResponseMessage()/getInputStream()
getResponseMessage()
用于获取连接的消息,如
HTTP\u未找到
HTTP Status-Code 404: Not Found.
要通过getInputStream()
获取实际数据,请查看以下详细信息:
public InputStream getInputStream() throws IOException
返回从该打开连接读取的输入流。
如果读取超时在数据可供读取之前过期,则从返回的输入流读取时会引发SocketTimeoutException
返回:
从这个打开的连接读取的输入流
抛出:
IOException-如果在创建输入流时发生I/O错误。
UnknownServiceException-如果协议不支持输入
有关更多详细信息,请参阅以下链接:
谢谢,您能补充一些关于如何使用getContent()API的答案吗?getContent()返回一个对象,表示此URL连接所连接的资源的内容。它返回内容处理程序的输出。由于内容处理程序几乎可以返回任何内容,因此getContent()的返回类型为Object。因此,我们必须将其转换为其他可以使用的数据类型。例如,如果我们需要一个字符串,我们将把getContent()的结果强制转换为一个字符串
public InputStream getInputStream() throws IOException