Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menghantar Data HTTP POST Menggunakan file_get_contents() dalam PHP?

Bagaimanakah Saya Boleh Menghantar Data HTTP POST Menggunakan file_get_contents() dalam PHP?

Barbara Streisand
Barbara Streisandasal
2024-12-24 12:16:11403semak imbas

How Can I Submit HTTP POST Data Using file_get_contents() in PHP?

Penyerahan Data POST HTTP dengan file_get_contents()

Cabaran:

Banyak URL memerlukan data siaran untuk interaksi, seperti halaman log masuk. Walau bagaimanapun, fungsi file_get_contents() tidak menyokong penyerahan data secara semulajadi.

Penyelesaian:

Untuk menyelesaikan masalah ini, PHP menggunakan konteks strim, yang membenarkan penyerahan data HTTP POST dalam file_get_contents().

Pelaksanaan:

Menggunakan konteks strim, anda boleh mengkonfigurasi gelagat permintaan:

$postdata = http_build_query(
    ['var1' => 'some content', 'var2' => 'doh']
);

$opts = [
    'http' => [
        'method'  => 'POST',
        'header'  => 'Content-Type: application/x-www-form-urlencoded',
        'content' => $postdata
    ]
];

$context = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

Dalam contoh ini:

  • $postdata mengandungi data yang akan diserahkan.
  • $opts mentakrifkan pilihan strim, termasuk kaedah POST, pengepala yang sesuai dan muatan data.
  • $context ialah konteks strim yang dibuat dengan pilihan yang ditentukan.
  • file_get_contents() mendapatkan semula respons menggunakan tersuai konteks.

Kaedah Alternatif:

Sebagai alternatif, pertimbangkan untuk menggunakan cURL, yang menawarkan pilihan penyesuaian yang lebih meluas dan biasanya digunakan untuk mengendalikan permintaan HTTP POST.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghantar Data HTTP POST Menggunakan file_get_contents() 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