gpt4 book ai didi

java - 如何修复java中的UnknownHostException

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

我尝试使用 java 访问 HP ALM REST API 以获取登录身份验证 token ,但 REST API 抛出 UnknownHostException。

private static final String almURL = "https://myalmUrl.com/qcbin";
private static final String isAuthenticatedPath = "authentication-point/authenticate";
public static String strUserName = "username";
public static String strPassword = "password";

private static String getEncodedAuthString() {
String auth = strUserName + ":" + strPassword;
byte[] encodedAuth = Base64.getEncoder().encode(auth.getBytes());
String authHeader = "Basic " + new String(encodedAuth);
return authHeader;
}

public static void main(String args[]) {
client = ClientBuilder.newBuilder().build();
target = client.target(almURL).path(isAuthenticatedPath);
invocationBuilder = target.request(new String[] { "application/xml" });
invocationBuilder.header("Authorization", getEncodedAuthString());
res = invocationBuilder.get(); // error occured
}

错误: 线程“main”中出现异常 javax.ws.rs.ProcessingException:java.net.UnknownHostException:myalmUrl.com

这段代码有什么问题?我该如何修复它?

最佳答案

原因:当您无法解析所提供的 URL 的 DNS 记录时,通常会引发 UnknownHostException。该操作有一个合理的超时时间,但如果您的 Wi-Fi 连接较弱或者您的设备上没有足够的信号,则通信可能会在发送请求和接收响应之间中断,因此您的设备没有收到响应,因此认为这是 DNS 超时。

长话短说,异常有两个主要原因:

  1. 如果您的 Wi-Fi 信号较弱。
  2. 如果您的设备已连接到 Wi-Fi 但没有互联网,则不会可用。

解决方案:在请求之前使用 HttpURLConnection 类检查互联网的可用性。

关于java - 如何修复java中的UnknownHostException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57270806/

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