我使用java HttpURLConnection类连接到url,并希望生成ConnectException来监视和记录一些数据。我只是尝试连接随机的网站,但我无法生成ConnectionException,即使我试图访问url,这个url并不存在,但它正在捕获MalformedURLException
来自ConnectException的Java,
http://docs.oracle.com/javase/7/docs/api/java/net/ConnectException.html#ConnectException()
试图将套接字连接到远程地址和端口时发生错误的信号。通常,远程拒绝连接(例如,没有进程侦听远程地址/端口)。
这意味着需要从远程服务器拒绝连接,但我不知道这意味着什么,以及如何从我的java代码中生成连接?
发布于 2015-01-04 16:39:15
当您试图连接到不存在的URL时,可能会发生两种错误:
在这两种情况下,都不会引发ConnectException,因为此异常要求
ConnectException和套接字基本上驻留在ISO/OSI堆栈的第3层或第4层(即TCP/IP),而格式错误的URL是应用层问题。
您的解决方案:找到一个具有有效DNS条目的服务器,但没有侦听but服务器。::1应该是一个安全的赌注,除非您自己在端口80上托管一个bet服务器。下面是一个最小的工作示例:
package Foo;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
public class TestClass {
public static void main(String[] args) throws IOException {
URL url = new URL("http://localhost");
HttpURLConnection c = (HttpURLConnection)url.openConnection();
c.connect();
}
}https://stackoverflow.com/questions/27767644
复制相似问题