在PHP中,处理HTTP状态码的方法是检查curl_exec()
函数返回的状态码。你可以使用curl_getinfo()
函数来获取HTTP状态码。以下是一个简单的示例,展示了如何在PHP网页爬虫中处理HTTP状态码:
$url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 如果目标URL是HTTPS,需要禁用SSL证书验证 $content = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $error = curl_error($ch); if ($httpCode == 200) { // 请求成功,处理返回的内容 echo $content; } else { // 请求失败,处理HTTP状态码 echo "Error: HTTP status code - " . $httpCode . "\n"; if ($error) { echo "Error message: " . $error . "\n"; } } curl_close($ch); } $url = "https://example.com"; getUrlContent($url); ?>
在这个示例中,我们首先使用curl_init()
初始化一个新的cURL会话。然后,我们设置cURL选项,包括目标URL、是否将返回的内容作为字符串返回、是否跟随重定向以及是否禁用SSL证书验证(如果目标URL是HTTPS)。
接下来,我们使用curl_exec()
执行cURL请求并将返回的内容存储在$content
变量中。同时,我们使用curl_getinfo()
获取HTTP状态码并将其存储在$httpCode
变量中。我们还检查是否有cURL错误,并将其存储在$error
变量中。
最后,我们检查HTTP状态码是否为200(表示请求成功)。如果是,则处理返回的内容。否则,我们输出HTTP状态码和错误消息(如果有)。在完成cURL请求后,我们使用curl_close()
关闭cURL会话。