gpt4 book ai didi

php - 如何检查网页是否存在。 jQuery 和/或 PHP

转载 作者:可可西里 更新时间:2023-11-01 13:23:33 25 4
gpt4 key购买 nike

我希望能够验证表单以检查网站/网页是否存在。如果它返回 404 错误,那肯定不应该验证。如果有重定向...我乐于接受建议,有时重定向会转到错误页面或主页,有时它们会转到您要查找的页面,所以我不知道。也许对于重定向,可能会有一个特别通知,向用户建议目标地址。

到目前为止我发现的最好的东西是这样的:

$.ajax({url: webpage ,type:'HEAD',error:function(){
alert('No go.');
}});

这对 404 和 200 没有问题,但如果您对 url 执行类似 'http://xyz' 的操作,它就会挂起。 302 等也会触发错误处理程序。

这是一个足够通用的问题,如果有人可以制作一个完整的工作代码示例,我想要一个。这对于很多人来说可能很方便。

最佳答案

听起来你并不关心网页的内容,你只想看看它是否存在。下面是我在 PHP 中的做法 - 我可以阻止 PHP 占用页面内容的内存。

/*
* Returns false if the page could not be retrieved (ie., no 2xx or 3xx HTTP
* status code). On success, if $includeContents = false (default), then we
* return true - if it's true, then we return file_get_contents()'s result (a
* string of page content).
*/
function getURL($url, $includeContents = false)
{
if($includeContents)
return @file_get_contents($url);

return (@file_get_contents($url, null, null, 0, 0) !== false);
}

为了不那么冗长,用这个替换上面函数的内容。

return ($includeContents) ? 
@file_get_contents($url) :
(@file_get_contents($url, null, null, 0, 0) !== false)
;

参见 http://www.php.net/file_get_contents有关如何使用流上下文指定 HTTP header 的详细信息。

干杯。

关于php - 如何检查网页是否存在。 jQuery 和/或 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3536118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com