如何自動化驗證網站所有連結是否有效?
當我們要驗證一個網站所有連結是否有效
或是整個線上說明文件內所有的網址聯結是否有效時,
有沒有什麼比較有效率的方法可以達成?
方法一:Xenu工具
http://home.snafu.de/tilman/xenulink.html
http://home.snafu.de/tilman/XENU.ZIP
這個工具是筆者比較建議的方法。因為這個工具的產生的結果較為完整而且提供進階設定如何做這些檢查。
方法二: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]