在PHP中,處理HTTP狀態碼的方法是檢查curl_exec()
函數返回的狀態碼。你可以使用curl_getinfo()
函數來獲取HTTP狀態碼。以下是一個簡單的示例,展示了如何在PHP網頁爬蟲中處理HTTP狀態碼:
<?php
function getUrlContent($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會話。