判断网址是否有效,可以通过使用PHP内置函数 get_headers()
或者使用 cURL
扩展。下面分别介绍这两种方法的使用。
使用 get_headers() 函数判断网址是否有效
get_headers()
函数可以获取海量 HTTP 请求响应头信息,我们可以利用这个函数来判断网址是否有效。
代码和注释如下:
$url = 'http://www.example.com';
$headers = @get_headers($url);
// 判断 HTTP 响应状态码是否为 200,判断请求是否成功
if(strpos($headers[0],'200') !== false){
echo '网址有效';
} else {
echo '网址无效';
}
上述代码中使用了 @
符号来抑制函数的警告提示,因为如果访问不到 URL 则会报错。我们把警告提示关闭后,可以在代码里进行判断。
使用 cURL 扩展判断网址是否有效
如果 PHP 没有安装 cURL 扩展,我们需要先安装这个扩展。然后我们可以使用 cURL 执行 HTTP 请求,并获取响应信息进行判断。
代码和注释如下:
$url = 'http://www.example.com';
$curl = curl_init($url);
// 设置 cURL 执行选项
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// 获取 HTTP 响应状态码
$response = curl_exec($curl);
$httpStatusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
// 判断 HTTP 响应状态码是否为 200,判断请求是否成功
if(curl_errno($curl) || $httpStatusCode != 200) {
echo '网址无效';
} else {
echo '网址有效';
}
上述代码先使用 curl_init()
函数初始化一个 cURL 请求的句柄,然后通过 curl_setopt()
函数指定一系列选项,例如禁用 SSL 检查,设置执行的 URL 等等。通过 curl_exec()
函数执行 cURL 请求,并获取响应内容。最后使用 curl_getinfo()
函数获取 HTTP 响应状态码,根据状态码来判断请求是否成功。通过 curl_errno()
函数判断在 cURL 传输过程中有没有发生错误。
以上两种方式都可以实现对网址有效性进行判断。你可以根据具体需求进行选择。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP下判断网址是否有效的代码 - Python技术站