java怎么判断一个网站是否可以访问

2025-04-16 12:41:00

1、检查URL是否正确:URI uri= new URI(url); 如果该方法抛出异常URISyntaxException,那说明这个url不正确,但是遇到一个url地址中包含字符串^时也会抛出异常,可是这个含有^的链接却是一个有效的地址,比如百度中的某些地址,所以方法应该这样写:

java怎么判断一个网站是否可以访问

2、 URL uri= new URL(incon); URI uri= new URI(uri.getProtocol(), uri.getHost(), uri.getPath(), uri.getQuery(), null);//加上这句测试一下带^ 符号的地址,如下图所示。

java怎么判断一个网站是否可以访问

3、URL正确后,后台代码,检查链接是否能打开。URL url;try {url = new URL(urlString);URLConnection co = ur造婷用痃l.openConnection();co.setConnectTimeout(timeOutMillSeconds);co.connect();System.out.println("连接可用");} catch (Exception e1) {System.out.println("连接打不开!");url = null;}

java怎么判断一个网站是否可以访问

4、完整代码如下:package Isvalide;import java.net.URI;import jav锾攒揉敫a.net.URISyntaxException;import java.net.URL;import java.net.URLConnection;/**普通类*/public class IsValide { public static void main(String[] args) { try { System.out.println(isValidUrl("http://www.baidu.com?qww^=23")+"---正确地址"); UrlWithTime("http://www.baidu.com?qww^=23",1000); } catch (Exception e) { System.out.println("链接不正确"); e.printStackTrace(); } } public static void UrlWithTime(String urlString,int timeOutMillSeconds){ long lo = System.currentTimeMillis(); URL url; try { url = new URL(urlString); URLConnection co = url.openConnection(); co.setConnectTimeout(timeOutMillSeconds); co.connect(); System.out.println("连接可用"); } catch (Exception e1) { System.out.println("连接打不开!"); url = null; } System.out.println(System.currentTimeMillis()-lo); } private static final String acceptableSchemes[] = { "http:", "https:", "file:" }; private static boolean urlHasAcceptableScheme(String url) { if (url == null) { return false; } for (int i = 0; i < acceptableSchemes.length; i++) { if (url.startsWith(acceptableSchemes[i])) { return true; } } return false; } private static String isValidUrl(String incommingString) throws Exception{ URL urlObj = new URL(incommingString); URI uriObj = new URI(urlObj.getProtocol(), urlObj.getHost(), urlObj.getPath(), urlObj.getQuery(), null); String scheme = uriObj.getScheme(); if (!urlHasAcceptableScheme(incommingString)) { if (scheme != null) { throw new URISyntaxException("", ""); } } return incommingString; }}

java怎么判断一个网站是否可以访问
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢