在PHP中,如何验证给定的字符串是真正的URL?

Ita*_*vka 1 php url curl

我需要找到最佳方式(在性能方面)来查找给定字符串是否为URL.
REGEXP无济于事,因为www.eeeeeeeeeeeeeeee.bbbbbbbbbbbbbbbbbb是一个有效的网址名称,但不在人类已知的任何网络中.
我正在考虑使用CURL并查看我是否返回状态200或只是file_get_contents并分析结果.
有没有更好的办法?

Jon*_*eet 7

不要取整个内容 - 这可能是巨大的.发出HEAD请求.

当然,您可以先进行一些验证 - 删除无效的URL,而不仅仅是当前未提供任何内容的URL.之后,发出HEAD请求就好了.话虽如此,它变成了灰色区域......返回"需要授权"的URL怎么样?这可能是一个受密码保护的目录,但如果你知道密码,你会回到404,因为文件本身不存在...