gpt4 book ai didi

java - HttpURLConnection:getResponseMessage()、getInputStream() 和 getContent() 之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:16:45 24 4
gpt4 key购买 nike

团队,

我遇到过如下代码,

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()

Class URLConnection 
public Object getContent() throws IOException
public Object getContent(Class[] classes) throws IOException

最佳答案

getResponseMessage() 用于获取连接消息,例如HTTP_NOT_FOUND

HTTP Status-Code 404: Not Found.

要通过 getInputStream() 获取实际数据,请查看以下详细信息:

public InputStream getInputStream() throws IOException

返回一个从这个打开的连接中读取的输入流。如果读取超时在数据可供读取之前到期,则在从返回的输入流读取时会抛出 SocketTimeoutException

Returns: an input stream that reads from this open connection.

Throws: IOException - if an I/O error occurs while creating the input stream. UnknownServiceException - if the protocol does not support input.

更多详情请引用以下链接: http://docs.oracle.com/javase/7/docs/api/java/net/URLConnection.html#getInputStream()

关于java - HttpURLConnection:getResponseMessage()、getInputStream() 和 getContent() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34332967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com