小编use*_*740的帖子

检查链接是否损坏

我试图使用Java在网页中找到所有损坏的链接.这是代码:

   private static boolean isLive(String link){

    HttpURLConnection urlconn = null;
    int res = -1;
    String msg = null;
    try{

        URL url = new URL(link);
        urlconn = (HttpURLConnection)url.openConnection();
        urlconn.setConnectTimeout(10000);
        urlconn.setRequestMethod("GET");
        urlconn.connect();
        String redirlink = urlconn.getHeaderField("Location");
        System.out.println(urlconn.getHeaderFields());
        if(redirlink != null && !url.toExternalForm().equals(redirlink))
            return isLive(redirlink);
        else
            return urlconn.getResponseCode()==HttpURLConnection.HTTP_OK;

    }catch(Exception e){

      System.out.println(e.getMessage());
      return false;

    }finally{

        if(urlconn != null)
            urlconn.disconnect();

    }


}

public static void main(String[] s){

    String link = "http://www.somefakesite.net";
    System.out.println(isLive(link));

}
Run Code Online (Sandbox Code Playgroud)

代码参考http://nscraps.com/Java/146-program-code-broken-link-checker.htm.

此代码为所有网页(包括损坏的网页)提供HTTP 200状态.例如, http://www.somefakesite.net/提供以下标题字段:

{null = [HTTP/1.1 200 OK],Date …

java broken-links

7
推荐指数
1
解决办法
5697
查看次数

标签 统计

broken-links ×1

java ×1