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

 时间:2026-02-16 05:07:40

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 =  url.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 java.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怎么判断一个网站是否可以访问

  • 红烧红怎么做——家常红烧肉
  • 紫色美甲教程
  • 浙江音乐学院怎么报名
  • 《JAVA学习》:[61]空格的使用
  • 怎么拆卸鄂式破碎机的主要部件
  • 热门搜索
    大螃蟹怎么做好吃 四川旅游学院官网 失眠多梦怎么治疗 山东旅游攻略 脸上长了黄褐斑怎么办 哈尔滨职业技术学院怎么样 怎么查个人信用记录 痔疮不治疗会怎么样 松花蛋的做法凉拌 怎么卸载360安全卫士