Rumah >pembangunan bahagian belakang >tutorial php >Bolehkah `file_get_contents()` PHP Menghantar Pengepala HTTP Tersuai?

Bolehkah `file_get_contents()` PHP Menghantar Pengepala HTTP Tersuai?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-28 08:30:11404semak imbas

Can PHP's `file_get_contents()` Send Custom HTTP Headers?

Bolehkah Fungsi file_get_contents() PHP Menghantar Pengepala HTTP?

Dalam PHP, file_get_contents() ialah fungsi I/O fail serba boleh yang membenarkan anda untuk mendapatkan semula kandungan URL juga. Walau bagaimanapun, terdapat beberapa kekeliruan mengenai keupayaannya untuk menghantar pengepala HTTP.

Pada mulanya, file_get_contents() tidak menyediakan cara langsung untuk menghantar pengepala HTTP tersuai. Ia biasanya diandaikan bahawa menetapkan pengepala ini melalui parameter ejen pengguna php.ini adalah satu-satunya pilihan.

Walau bagaimanapun, setelah pemeriksaan lanjut dokumentasi file_get_contents(), didapati bahawa pengepala HTTP memang boleh dihantar menggunakan fungsi stream_context_create(). Berikut ialah contoh:

// Create a stream context with custom HTTP headers
$opts = [
    "http" => [
        "method" => "GET",
        "header" => "Accept-language: en\r\n" .
            "Cookie: foo=bar\r\n"
    ]
];

// Create a stream context from the options
$context = stream_context_create($opts);

// Open the URL with the stream context
$file = file_get_contents('http://www.example.com/', false, $context);

Dengan mengikuti pendekatan ini, anda kini boleh menghantar pengepala HTTP tersuai dengan file_get_contents(). Adalah penting untuk ambil perhatian bahawa kaedah ini belum diuji secara meluas, jadi anda mungkin menghadapi masalah bergantung pada pengepala dan konfigurasi pelayan tertentu.

Atas ialah kandungan terperinci Bolehkah `file_get_contents()` PHP Menghantar Pengepala HTTP Tersuai?. 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