Apabila menggunakan pustaka sambungan cURL dalam PHP untuk membuat permintaan HTTP, anda selalunya perlu menambah beberapa parameter apabila menyerahkan permintaan melalui POST. Kerana mereka boleh membantu kami mengurus parameter kami dengan berkesan, dan mujurlah parameter ini sangat mudah untuk ditambah. Dalam artikel ini, kami akan menerangkan cara menambah parameter pada permintaan POST dalam PHP menggunakan cURL.
Pertama, kita perlu memastikan bahawa perpustakaan sambungan cURL telah dipasang dan didayakan dalam persekitaran PHP. Anda boleh menyemak sama ada persekitaran menyokongnya melalui fungsi phpinfo()
. Jika anda belum memasang cURL lagi, sila gunakan arahan berikut untuk memasangnya:
sudo apt-get install curl
Seterusnya, kami akan menggunakan contoh mudah untuk menunjukkan cara menambah parameter POST menggunakan cURL. Pada masa ini, kami memerlukan dua fail:
post_data.php
:
<?php $postdata = http_build_query( array( 'username' => 'jack', 'password' => 'xyz', ) ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"http://example.com/login"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); // receive server response ... curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec ($ch); curl_close ($ch); echo $result;
login.php
:
<?php $username = $_POST['username']; $password = $_POST['password']; echo "Username: ".$username."\n"; echo "Password: ".$password."\n";
Penerangan kod:
Tatasusunan postdata
mentakrifkan pasangan nilai kunci untuk ditambahkan dalam permintaan POST Fungsi http_build_query()
digunakan untuk mensiri tatasusunan menjadi rentetan dan awalan dengan nama atribut, contohnya: username=jack&password=xyz
.
Langkah seterusnya ialah untuk memulakan cURL, tetapkan alamat URL permintaan, tetapkan permintaan kepada permintaan POST dan tetapkan data POST kepada postdata
.
Proses respons pelayan dan cetak hasilnya, dan akhirnya tutup permintaan cURL.
Fail login.php menerima permintaan POST dan menghuraikan data daripada tatasusunan dan mencetak hasilnya.
Jika data POST anda ialah tatasusunan, anda boleh menghantarnya ke fungsi http_build_query()
yang akan menghuraikan setiap elemen dalam tatasusunan dan membinanya menjadi rentetan permintaan yang sesuai.
Contohnya:
$postdata = http_build_query( array( 'my_array' => array( 'value1', 'value2', 'value3' ) ) );
Ini akan menjana rentetan sebagai: my_array[0]=value1&my_array[1]=value2&my_array[2]=value3
.
Adalah mudah untuk menambah parameter POST dalam cURL dengan menggunakan kaedah yang diterangkan dalam artikel ini. Ini akan membantu anda mengurus parameter anda dengan lebih cekap, menjadikan aplikasi anda lebih selamat dan teguh.
Atas ialah kandungan terperinci Bagaimana untuk menambah parameter pada permintaan POST dalam PHP menggunakan cURL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!