我使用java HttpURLConnection类连接到一个url,我想生成ConnectException来监视和记录一些数据.我只是想连接随机网站但我无法生产,ConnectionException即使我试图访问不存在的网址,但它正在捕捉MalformedURLException
来自Java Docs ConnectException,
http://docs.oracle.com/javase/7/docs/api/java/net/ConnectException.html#ConnectException()
表示尝试将套接字连接到远程地址和端口时发生错误.通常,远程拒绝连接(例如,没有进程正在侦听远程地址/端口).
这意味着需要从远程服务器拒绝连接,但我不知道这意味着什么以及如何从我的java代码生成它?
当您尝试连接到不存在的URL时,可能会发生两种错误:
在这两种情况下,ConnectException都不会抛出,因为此异常需要这样做
的ConnectException和插座基本上驻留在层3或ISO/OSI堆栈的第4(即,TCP/IP),而你的错误的URL是一个应用层问题.
您的解决方案:查找具有有效DNS条目但没有侦听Web服务器的服务器.::1应该是一个安全的赌注,除非您自己在端口80上托管网络服务器.这是一个最小的工作示例:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
131 次 |
| 最近记录: |