溫馨提示×

php網頁爬蟲 如何處理 HTTP狀態碼

PHP
小樊
100
2024-12-12 19:09:02
欄目: 編程語言

在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會話。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女