http 网络异常请求处理

本文介绍了一段HTTP请求代码,详细解析了如何处理包括超时重试、域名解析错误及其它网络异常的情况,通过三次尝试确保请求的成功率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近看了一个大神的代码,觉得别人写的代码有借鉴之处,故记录下来,以便日后使用。

源码如下:

		String url ="http://180.101.49.12:8001";
		Document doc = null;
		String errorMsg = null;
		for(int i =0 ;i<3;i++) {
			try {
				Connection con = Jsoup.connect(url);
				con.timeout(1000);//连接超时
				System.out.println("尝试次数:"+(i+1) );
				doc = con.get();
				break;
			}catch(UnknownHostException ex) {
				errorMsg = "域名解析错误:"+ex.getMessage();
			}catch(SocketTimeoutException ex) { //超时重试
				errorMsg ="http 请求超时:"+ex.getMessage();
				continue ;
			}catch(Exception ex) {
				errorMsg = "网络异常:"+ex.getMessage();
			}
		}
		if( doc == null ) {
			System.err.println(errorMsg);
		}else {
			System.out.println(doc);
		}

让我“班门弄斧”介绍一下。首先,这是一个http请求的代码,这段代码考虑了几种网络异常的处理:

1.http 请求超时重试,代码中总共尝试3次;

2.域名异常捕获、超时异常捕获、其他网络或通讯异常;

说明:在断网后,如果url是域名访问的情况下,首先是域名无法解析异常。

                             如果url是IP访问,提示的异常“No route to host: connect”。

以上说明仅为参考,实际运行结果会因环境不同而有出入,请多包涵!!!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值