如何检查URL上是否有任何内容?

时间:2011-11-11 20:48:27

标签: php url

我网站的一部分要求用户输入网址,但如果他们输入的网址不正确,或者只是故意输入不存在的网址,我的数据库会记录错误。

  • E.G在Chrome中如果网址上没有任何内容,则会收到错误消息 消息“糟糕!Google Chrome无法找到fdsafadsfadsf.com”。 (我指的是这种情况)

这可以通过检查URL来查看是否有任何问题来解决,我只能想到一个在PHP文件中加载外部URL然后解析它的内容。但我希望有一种方法不会给我的服务器带来不必要的压力。

还有哪些其他方法可以检查特定网址是否有任何内容?

4 个答案:

答案 0 :(得分:4)

我只会提出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

答案 1 :(得分:1)

您可以使用php get_headers($url),如果没有答案,将返回false

答案 2 :(得分:1)

如果您愿意包含一个微小的Flash嵌入,您可以从客户端进行跨域AJAX调用,以查看是否有任何有用的信息在目的地。这将减轻任何服务器的参与。

http://jimbojw.com/wiki/index.php?title=Introduction_to_Cross-Domain_Ajax

答案 3 :(得分:1)

我会使用cURL来执行此操作,这样就可以指定超时。

请参阅以下评论:http://php.net/manual/en/function.get-headers.php