用JAVA判断一个URL是否有效
来源:互联网 发布:itools苹果助手 mac 编辑:程序博客网 时间:2024/04/28 06:00
最近因项目需求,需要针对一些URL地址进行检测是否可用,使用java.net 下的类来实现,主要用到了 URL和HttpURLConnection 二个类 ,URL 是统一资源标识符的引用,一个URL实例代表着一个url的引用,开始使用了URL中的的openStream()方法,这样使用倒是可以,但是速度慢,代码如下:
- try {
- url = new URL("http://127.0.0.1/sj/user/getUser");
- in = url.openStream();
- } catch (Exception e1) {
- System.out.println("连接打不开!");
- url = null;
- }
try { url = new URL("http://127.0.0.1/sj/user/getUser"); in = url.openStream();} catch (Exception e1) { System.out.println("连接打不开!"); url = null;}
下面判断url是不是null就可以了,速度慢
最后使用了HttpURLConnection 中的 getResponseCode();方法,HttpURLConnection : 通常一个HttpURLConnection 的实例可以生成一个请求,它有个方法 getResponseCode();可以得到请求的响应状态,该方法返回一个 int 分别是 200 and 404 如无法从响应中识别任何代码则返回 -1,代码如下:
- /**
- * 功能:检测当前URL是否可连接或是否有效,
- * 描述:最多连接网络 3 次, 如果 3 次都不成功,视为该地址不可用
- * @param urlStr 指定URL网络地址
- * @return URL
- */
- public synchronized String isConnect(String urlStr) {
- int counts = 0;
- retu = "";
- if (urlStr == null || urlStr.length() <= 0) {
- return null;
- }
- while (counts < StaticConstant.REQUEST_COUNT) {
- long start = 0;
- try {
- url = new URL(urlStr);
- start = System.currentTimeMillis();
- con = (HttpURLConnection) url.openConnection();
- state = con.getResponseCode();
- log.info("请求断开的URL一次需要:"+(System.currentTimeMillis()-start)+"毫秒");
- if (state == 200) {
- retu = "ok";
- log.info(urlStr+"--可用");
- }
- break;
- }catch (Exception ex) {
- counts++;
- log.info("请求断开的URL一次需要:"+(System.currentTimeMillis()-start)+"毫秒");
- log.info("连接第 "+counts+" 次,"+urlStr+"--不可用");
- continue;
- }
- }
- return retu;
- }
- 用JAVA判断一个URL是否有效
- 用JAVA判断一个URL是否有效
- 用JAVA判断一个URL是否有效
- 用JAVA判断一个URL是否有效
- 用JAVA判断一个URL是否有效
- 用JAVA判断一个URL是否有效
- 用 JAVA 判断一个URL是否有效--CTO
- 用JAVA后台判断一个URL是否有效
- 用java判断url是否有效
- Android 判断一个url是否有效
- 用Java判断一个URL是否有效的两种方法
- 用Java判断一个URL是否有效的两种方法
- 用Java判断一个URL是否有效的两种方法
- 用Java判断一个URL是否有效的两种方法
- 用Java判断一个URL是否有效的两种方法
- 用Java判断一个URL是否有效的两种方法
- 判断URL 是否是一个有效的URL
- java 检测一个URL地址是否有效
- linux 输出 重定向命令
- 空气的隔绝板
- linux 创建连接命令 ln -s 软链接
- 安装PostgreSQL时报错:具体错误见下图
- 程序员想重写代码?
- 用JAVA判断一个URL是否有效
- Zookeeper实现分布式Session管理实现
- C/C++100个典型的Bugs
- 小议各种链路层的MTU以及TCP的MSS
- 互联网金融企业的大数据应用案例分享-孟鑫
- oracle序列
- LPC1343学习笔记
- javaScript arguments 对象
- #关于android:configChanges的属性