2011-08-05 52 views
1

我需要验证URL并获得标题。要做到这一点,我卷曲的网址,然后使用正则表达式提取标题。但是有时一个网站可能会倒闭,或者可能不会“卷曲”。例如,如果您卷曲http://arsenal.com,则返回This site has permanently moved to http://www.arsenal.com在PHP中使用URL获取网站标题(并验证URL)

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

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

+2

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

回答

0

尝试curl -L。如果服务器响应该位置已经移动,则-L开关会导致curl跟随重定向。浏览器通过查看响应代码(在这种情况下,3XX),然后寻找以下标题和重定向到该值会自动完成此:

Location: newsite.com 

我不知道如何使用交换机从虽然PHP包装卷曲,但我不是一个PHP的家伙。我会假设有一个简单的方法。

+0

是啊Aleks G送我到正确的参考。 –