Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menghantar Permintaan POST dan Dapatkan Respons dalam PHP Tanpa CURL?
Menghantar Permintaan POST dengan PHP
Apabila menghadapi titik akhir yang hanya menerima kaedah POST, ia boleh menjadi mencabar untuk mengakses dan membaca kandungan yang terhasil. Artikel ini meneroka kaedah praktikal untuk menghantar permintaan POST dan mendapatkan semula respons pelayan menggunakan PHP.
Kaedah CURL-less:
Untuk senario di mana CURL bukan pilihan yang berdaya maju , penyelesaian berikut menggunakan fungsi file_get_contents() asli PHP menyediakan alternatif:
$url = 'http://server.com/path'; $data = ['key1' => 'value1', 'key2' => 'value2']; // Specify HTTP method and headers $options = [ 'http' => [ 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => http_build_query($data), ], ]; // Create stream context with POST data $context = stream_context_create($options); // Send POST request and retrieve response $result = file_get_contents($url, false, $context); if ($result === false) { // Handle error } var_dump($result);
Pendekatan ini membina konteks strim HTTP menggunakan pilihan yang disediakan dan menghantar permintaan POST ke URL yang ditentukan. Respons pelayan kemudiannya disimpan dalam pembolehubah $result, memberikan akses kepada kandungannya untuk pemprosesan selanjutnya menggunakan kaedah seperti DOMDocument atau file_get_contents().
Untuk maklumat tambahan tentang penciptaan dan penyesuaian konteks strim, rujuk manual PHP :
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Permintaan POST dan Dapatkan Respons dalam PHP Tanpa CURL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!