Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah saya boleh menguji dengan pasti ralat 404 dalam kod mengikis PHP saya?

Bagaimanakah saya boleh menguji dengan pasti ralat 404 dalam kod mengikis PHP saya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-04 08:09:13928semak imbas

How can I reliably test for 404 errors in my PHP scraping code?

Menguji URL untuk 404 dalam PHP: Panduan Komprehensif

Mendapati bahawa URL mengembalikan ralat 404 yang tidak dijangka boleh mengganggu kod pengikisan anda. Untuk menangani perkara ini, adalah penting untuk melaksanakan ujian pada permulaan kod anda untuk menyemak kod status khusus ini.

Pendekatan fsockopen

Satu kaedah yang dicadangkan melibatkan penggunaan fsockopen (). Walau bagaimanapun, jika URL mempunyai ubah hala, fsockopen() boleh mengembalikan hasil kosong untuk semua nilai.

Pendekatan curl

Pendekatan yang lebih dipercayai menggunakan pengikatan curl PHP. Dengan curl, anda boleh mendapatkan semula kod ralat HTTP menggunakan curl_getinfo(). Berikut ialah contoh:

$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE);

$response = curl_exec($handle);

$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
if ($httpCode == 404) {
    // Handle 404 error here
}

curl_close($handle);

// Handle the response as needed

Kod ini memulakan pemegang keriting untuk $url yang ditentukan, menetapkan pilihan untuk mengembalikan respons sebagai rentetan, melaksanakan permintaan dan mendapatkan semula kod HTTP. Jika kod itu ialah 404, ia menavigasi kod pengendalian ralat yang sesuai.

Kesimpulan

Dengan menggunakan fungsi curl_getinfo() curl, anda boleh menyemak 404 ralat dalam anda dengan berkesan PHP mengikis kod, menghalang gangguan hiliran dan memastikan kestabilan proses pengekstrakan data anda.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menguji dengan pasti ralat 404 dalam kod mengikis PHP saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn