Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Berkesan Mengendalikan Ralat 404 Semasa Mengikis Web dalam PHP?

Bagaimana Berkesan Mengendalikan Ralat 404 Semasa Mengikis Web dalam PHP?

Barbara Streisand
Barbara Streisandasal
2024-12-03 06:48:09122semak imbas

How to Effectively Handle 404 Errors During Web Scraping in PHP?

Cara Mengendalikan Ralat 404 dalam PHP dengan Cekap

Apabila mengikis halaman web, menghadapi ralat 404 (Tidak Ditemui) boleh mengganggu aliran kod anda. Untuk mengelakkan gangguan sedemikian, adalah penting untuk melaksanakan pengesahan URL yang mantap pada awalnya.

Penghadan Kaedah fsockopen

Cadangan blog untuk menggunakan fsockopen() mempunyai had, terutamanya apabila berurusan dengan ubah hala. Ia mungkin mengembalikan nilai $valid kosong walaupun untuk URL yang sah.

Memperkenalkan curl dan curl_getinfo()

Pustaka curl PHP menyediakan pendekatan alternatif yang mengendalikan ubah hala dan returnsの詳細なHTTP情報を提供します。 Dengan curl_getinfo(), anda boleh mendapatkan semula kod status HTTP selepas melaksanakan permintaan cURL. Berikut ialah contoh kod menggunakan curl untuk menyemak 404 ralat:

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

/* Get the HTML or whatever is linked in $url. */
$response = curl_exec($handle);

/* Check for 404 (file not found). */
$httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
if($httpCode == 404) {
    /* Handle 404 here. */
}

curl_close($handle);

/* Handle $response here. */

Dalam kod ini:

  • Sesi cURL dimulakan menggunakan curl_init().
  • curl_setopt() mengkonfigurasi sesi untuk mengembalikan $response rentetan.
  • curl_exec() melaksanakan permintaan.
  • curl_getinfo() mendapatkan semula kod status HTTP ($httpCode).
  • Jika $httpCode ialah 404, kod tersebut mengendalikan ralat.

Dengan menggunakan kaedah ini, anda boleh mengendalikan dengan cekap 404 dan pastikan kod mengikis anda berjalan lancar.

Atas ialah kandungan terperinci Bagaimana Berkesan Mengendalikan Ralat 404 Semasa Mengikis Web dalam PHP?. 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