簡體   English   中英

如何檢查網址中是否有內容?

[英]How to check if there is anything at URL?

我的網站的一部分要求用戶輸入URL,但是如果他們輸入錯誤的URL或只是故意輸入一個不存在的URL,我最終會在數據庫中記錄錯誤。

  • Chrome中的EG,如果URL中沒有任何內容,則會顯示錯誤消息“糟糕!Google Chrome無法找到fdsafadsfadsf.com”。 (我指的是這種情況)

這可以通過檢查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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM