如何自動化驗證網站所有連結是否有效?

如何自動化驗證網站所有連結是否有效?

當我們要驗證一個網站所有連結是否有效

或是整個線上說明文件內所有的網址聯結是否有效時,

有沒有什麼比較有效率的方法可以達成?

方法一:Xenu工具

http://home.snafu.de/tilman/xenulink.html

http://home.snafu.de/tilman/XENU.ZIP

這個工具是筆者比較建議的方法。因為這個工具的產生的結果較為完整而且提供進階設定如何做這些檢查。

 

Screenshot of Xenu's Link Sleuth

 

方法二:Site Link Checker

http://www.networksecurityhome.com/downloads/SiteLinkChecker.exe

方法三:Java程式範例

寫一個小程式 linkExists利用 http head 看看該網址是否會傳回 200。

[pastacode lang=”java” message=”” highlight=”” provider=”manual”]

public static boolean linkExists(String URLName){
    try {
      HttpURLConnection.setFollowRedirects(false);
      HttpURLConnection con =
         (HttpURLConnection) new URL(URLName).openConnection();
      con.setRequestMethod("HEAD");
      return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
    }
    catch (Exception e) {
       e.printStackTrace();
       return false;
    }
  }

[/pastacode]

 

[pastacode lang=”java” message=”” highlight=”” provider=”manual”]

WebDriver driver = new FirefoxDriver();
for(String url : csvArray){
   if(linkExists(url)){
      driver.get(url);
            .
            .
            .
   }
}

[/pastacode]

 

Leave a Reply

Your email address will not be published. Required fields are marked *