Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Dapatkan Kod Respons HTTP Menggunakan `file_get_contents` dan `stream_context_create`?

Bagaimanakah Saya Boleh Dapatkan Kod Respons HTTP Menggunakan `file_get_contents` dan `stream_context_create`?

Susan Sarandon
Susan Sarandonasal
2024-12-01 21:53:12243semak imbas

How Can I Retrieve HTTP Response Codes Using `file_get_contents` and `stream_context_create`?

Mendapatkan semula Kod Respons HTTP dengan file_get_contents dan stream_context_create

Apabila menggunakan file_get_contents dan stream_context_create untuk permintaan POST, pengendalian ralat HTTP adalah penting. Secara lalai, file_get_contents menimbulkan amaran apabila menghadapi ralat HTTP, menjadikannya sukar untuk mendapatkan semula kod respons.

Untuk menyekat amaran ini dan mendapatkan kod respons, anda boleh memanfaatkan penyelesaian berikut:

Mencegah Amaran dan Mendapatkan Maklum Balas Kod

  1. Buat konteks strim menggunakan stream_context_create dengan pilihan berikut:
$options = [
    'http' => [
        'ignore_errors' => true
    ]
];

Pilihan 'ignore_errors' menyekat amaran yang dijana oleh file_get_contents.

  1. Gunakan file_get_contents dengan strim yang dibuat konteks untuk mendapatkan semula respons:
$result = file_get_contents("http://example.com", false, $context);
  1. Selepas mendapatkan semula respons dengan file_get_contents, maklumat pengepala respons HTTP, termasuk kod respons, akan tersedia dalam pembolehubah global $http_response_header. Anda boleh mengakses kod respons seperti berikut:
var_dump($http_response_header);

Teknik ini membolehkan anda mengendalikan ralat HTTP dengan anggun tanpa amaran dan mendapatkan semula kod respons daripada strim.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Kod Respons HTTP Menggunakan `file_get_contents` dan `stream_context_create`?. 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