【问题标题】:Getting site title using URL in PHP (and validating the URL)在 PHP 中使用 URL 获取站点标题(并验证 URL)
【发布时间】:2011-08-05 17:53:26
【问题描述】:

我需要验证 URL 并获取标题。为此,我卷曲 URL,然后使用正则表达式提取标题。但是,有时网站可能已关闭或可能无法“卷曲”。例如,如果你 curl http://arsenal.com,它会返回 This site has permanently moved to @987654321@

我可以编写一个正则表达式来检查返回的文本是否包含诸如 'site' 、 'moved' 、 url 之类的内容。但这听起来很愚蠢而且过于复杂。

但是,如果我在网络浏览器中输入http://arsenal.com,它会自动重定向到 www.arsenal.com。他们怎么做到的?对互联网人有什么建议?

【问题讨论】:

  • 就“永久移动”而言,您只需将 CURL 参数设置为跟随重定向 - 它会自动检索 www.arsenal.com。如果您想捕获所有类型的重定向,包括 javascript 和 ,这比这要复杂一些。看看这个:php.net/manual/en/ref.curl.php#92848

标签: regex curl url-validation


【解决方案1】:

试试curl -L。如果服务器响应位置已移动,-L 开关会导致 curl 跟随重定向。浏览器通过查看响应代码(在本例中为 3XX)然后查找以下标头并重定向到该值来自动完成此操作:

Location: newsite.com

我不确定如何使用 PHP 包装器中的那个开关来进行 curl,但我不是 PHP 人。我认为有一个简单的方法。

【讨论】:

    猜你喜欢
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    相关资源
    最近更新 更多