Java 8 HttpURLConnection忽略超时

Java 8 HttpURLConnection忽略超时,java-8,httpurlconnection,Java 8,Httpurlconnection,我有一个应用程序,它接收用户输入的主机名,并尝试使用HttpURLConnection连接到它。我经常输入错误的主机名,我必须等待10秒才能返回connect函数。有没有什么方法可以在不使用额外线程来包装连接代码的情况下减少此时间?我已经尝试过使用setConnectTimeout和setReadTimeout,但没有任何运气 以下是我如何设置连接: uri在本例中是指向我正在测试连接的api的路径 超时被设置为500(毫秒) 或者,有人能解释为什么这些超时没有效果吗 HttpURLConnec

我有一个应用程序,它接收用户输入的主机名,并尝试使用HttpURLConnection连接到它。我经常输入错误的主机名,我必须等待10秒才能返回connect函数。有没有什么方法可以在不使用额外线程来包装连接代码的情况下减少此时间?我已经尝试过使用
setConnectTimeout
setReadTimeout
,但没有任何运气

以下是我如何设置连接:

uri
在本例中是指向我正在测试连接的api的路径

超时
被设置为500(毫秒)

或者,有人能解释为什么这些超时没有效果吗

HttpURLConnection conn = null;
try {
    URL url = new URL("http://"+host+":"+port+uri);
    System.out.println(url);
    conn = (HttpURLConnection) url.openConnection();
    conn.setRequestMethod("GET");
    conn.setRequestProperty("Content-Length", "0");
    conn.setRequestProperty("Accept", accept);
    conn.setDoInput(true);
    conn.setDoOutput(false);
    conn.setConnectTimeout(timeout);
    conn.setReadTimeout(timeout);
    conn.connect();
} catch (IOException e) {
}