gpt4 book ai didi

java - 如果服务器返回错误状态,java.net.HttpUrlConnection是否总是抛出IOException?

转载 作者:行者123 更新时间:2023-12-01 18:06:02 25 4
gpt4 key购买 nike

我正在使用 java.net.HttpUrlConnection 向我的服务器发出 Http 请求。我意识到如果服务器返回错误状态(例如 400)。 HttpUrlConnection 将抛出与错误状态对应的 IOException。

我的问题是:如果服务器返回错误状态(4xx、5xx),HttpUrlConnection 是否总是抛出 IOException?

我看一下HttpUrlConnection API 描述,但我无法回答我的问题。

更新:请查看我的测试:

public static void main(String[] args) {
try {

String url = "https://www.googleapis.com/oauth2/v3/userinfo?access_token=___fake_token";
HttpURLConnection conn = (HttpURLConnection)new URL(url).openConnection();

conn.getResponseCode();
conn.getInputStream();

} catch (Exception ex) {
ex.printStackTrace();
// Print IOException: java.io.IOException: Server returned HTTP response code: 401 for URL: https://www.googleapis.com/oauth2/v3/userinfo?access_token=abc

// If I commented conn.getResponseCode() -> The same IOException
}
}

谢谢!

最佳答案

如果您在 getInputStream() 之前检查 getResponseCode() 并且问题是 HTTP 返回代码而不是连接错误,则不会。

关于java - 如果服务器返回错误状态,java.net.HttpUrlConnection是否总是抛出IOException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36381353/

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