[英]How to check if there is anything at URL?
我的網站的一部分要求用戶輸入URL,但是如果他們輸入錯誤的URL或只是故意輸入一個不存在的URL,我最終會在數據庫中記錄錯誤。
這可以通過檢查URL以查看是否存在來解決,我只能想到一種將外部URL加載到PHP文件中,然后解析其內容的方法。 但是,我希望有一種方法不會對服務器造成不必要的壓力。
還有什么其他方法可以檢查特定URL是否存在任何內容?
我只會提出HEAD
請求。 這將適用於大多數服務器,並且避免下載整個頁面,因此非常高效。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
您要做的就是解析返回的狀態碼。 如果是200,那么您就很好。
在此處使用cURL的示例實現: http : //icfun.blogspot.com/2008/07/php-get-server-response-header-by.html
您可以使用php get_headers($ url) ,如果沒有答案,它將返回false
如果您願意包含一個很小的Flash嵌入,則可以從客戶端進行跨域AJAX調用,以查看目標處是否有有用的東西。 這將完全減輕服務器的參與。
http://jimbojw.com/wiki/index.php?title=Introduction_to_Cross-Domain_Ajax
我將使用cURL來執行此操作,這樣就可以在其上指定超時。
請參閱以下評論: http : //php.net/manual/en/function.get-headers.php
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.