在Java中檢測損壞的URL(HTTP 404)的最有效方法是什麼?我想循環做這件事,並儘可能縮短時間。在Java中高效檢測損壞的URL
1
A
回答
1
有很多不同的方式,其中URL可以被打破:
- 語法無效
- 包含一個不存在的域
- 服務器不可用
- 服務器不接受連接
- 服務器響應錯誤
除了第一個,所有這些可能需要相對較長的時間(平均可能超過一秒),並且由於您正在與另一臺計算機進行通信,所以無法加快速度。
您唯一能做的就是使用thread pool並行檢查多個URL。
2
你只能在請求URL之後檢測到404:你將得到一個包含代碼的頭(200或301用於重定向,或404用於缺失文件),你可以檢查它。
所以你必須做的請求,並等待可能的404
有低於一個相當不錯的評論不應被跳過,所以我在這裏重複它: 可能的優化(在現有URL的情況):使用HEAD請求而不是GET。
0
您可以建立URL連接,通過捕獲異常並檢查HTTP狀態代碼來驗證URL是否中斷。如果不拋出異常並且HTTP狀態爲200,則URL可以。
但要小心!有時,URL被破壞,但應用程序返回狀態爲200的可讀錯誤頁面。 例如,www.somecompany.com網站存在,但www.somecompany.com/foo.html頁面不再存在。當你試圖到達那裏時,你會得到「頁面不存在」的消息,但HTTP狀態是200.這可以通過僅解析頁面內容來解決(有時)。
相關問題
- 1. 高效檢測損壞的jpeg文件?
- 2. 堆損壞檢測
- 3. PouchDB損壞檢測
- 4. 在VideoMixingRenderer中檢測損壞的流
- 5. 在Codeigniter中檢測損壞的鏈接
- 6. java udp檢測數據包損壞
- 7. 在C++中檢測到堆損壞
- 8. 檢測到堆損壞| C++
- 9. 檢測到堆損壞
- 10. 檢測到堆棧損壞
- 11. 如何在Java中檢測損壞的圖像(PNG,JPG)
- 12. 檢測損壞的png文件的有效方法?
- 13. 檢測圖像是否損壞或損壞
- 14. 使用Java來測試文件損壞和損壞
- 15. 檢測損壞的Flash文件
- 16. 檢測損壞數據的算法?
- 17. 檢測損壞的OGG文件
- 18. 檢測大量的損壞錢
- 19. 檢測外部損壞的鏈接
- 20. 檢測並刪除損壞的PDF
- 21. 檢測是否圖像URL損壞或不JQUERY
- 22. 檢測並警告web.config何時損壞
- 23. 正常塊後檢測到堆損壞
- 24. 布爾檢測檔案是否損壞
- 25. 堆損壞檢測:普通塊(#176)後
- 26. 檢測到合併排序堆損壞
- 27. 堆損壞檢測:普通塊(#126)後
- 28. glibc檢測smallbin鏈表損壞
- 29. jemalloc未檢測內存損壞
- 30. 檢測到堆損壞:正常塊後
定義「破損的URL」! – 2011-01-26 09:55:56
可能你需要看看http://stackoverflow.com/questions/4177864/checking-a-url-exist-or-not – 2011-01-26 09:58:43