Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan cURL dalam PHP untuk membuat panggilan API jauh

Cara menggunakan cURL dalam PHP untuk membuat panggilan API jauh

WBOY
WBOYasal
2023-06-17 12:45:181112semak imbas

Dalam aplikasi tapak web hari ini, memanggil perkhidmatan jauh melalui API telah menjadi keperluan yang sangat biasa. PHP menyediakan banyak API untuk melaksanakan panggilan API jauh, antaranya cURL adalah yang biasa digunakan. Menggunakan cURL, adalah sangat mudah untuk menghantar permintaan kepada perkhidmatan jauh dan mendapatkan data yang sepadan melalui protokol HTTP/HTTPS. Artikel ini akan memperkenalkan cara menggunakan cURL dalam PHP untuk membuat panggilan API jauh dan menyediakan beberapa senario aplikasi biasa.

Pasang cURL
Sebelum anda mula menggunakan cURL, anda perlu memasang modul cURL dalam persekitaran PHP anda terlebih dahulu. Jika anda menggunakan sistem Windows, anda boleh mendayakan sambungan cURL dengan uncomment extension=php_curl.dll dalam fail php.ini. Jika anda menggunakan sistem Linux atau Mac, anda boleh memasang sambungan cURL melalui arahan berikut:

sudo apt-get install php-curl

atau

sudo yum install php-curl

Kemudian anda boleh menggunakan cURL dalam PHP untuk menghantar permintaan jauh.

Menghantar permintaan GET
Menghantar permintaan GET menggunakan cURL adalah sangat mudah. Mula-mula, anda perlu memulakan sumber cURL dan menetapkan pilihan yang sepadan melalui fungsi curl_setopt(), seperti yang ditunjukkan di bawah:

$url = 'https://api.example.com/data';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);
echo $response;

Dalam kod di atas, kami mula-mula mentakrifkan URL API jauh dan menggunakan curl_init () fungsi Sumber curL dimulakan. Kemudian, kami menetapkan pilihan CURLOPT_URL kepada URL API jauh dan menetapkan pilihan CURLOPT_RETURNTRANSFER kepada benar, menunjukkan bahawa kami ingin mengembalikan kandungan respons API jauh melalui fungsi curl_exec(). Akhir sekali, kami menutup sumber cURL melalui fungsi curl_close().

Hantar permintaan POST
Menggunakan cURL untuk menghantar permintaan POST adalah serupa dengan permintaan GET Anda hanya perlu menetapkan pilihan CURLOPT_POST kepada benar selepas memulakan sumber cURL dan tetapkan pilihan CURLOPT_POSTFIELDS kepada yang diminta. Data POST, seperti yang ditunjukkan di bawah :

$url = 'https://api.example.com/data';
$params = array('name' => 'John Doe', 'email' => 'johndoe@example.com');
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params));
$response = curl_exec($curl);
curl_close($curl);
echo $response;

Dalam kod di atas, kami mula-mula mentakrifkan URL API jauh dan parameter permintaan POST. Kemudian, kami menggunakan fungsi curl_init() untuk memulakan sumber cURL dan menetapkan pilihan CURLOPT_URL kepada URL API jauh dan pilihan CURLOPT_RETURNTRANSFER kepada benar. Seterusnya, kami menetapkan pilihan CURLOPT_POST kepada benar dan menetapkan pilihan CURLOPT_POSTFIELDS kepada parameter POST yang kami tetapkan. Akhirnya, kami melaksanakan permintaan POST melalui fungsi curl_exec() dan menutup sumber cURL menggunakan fungsi curl_close().

Hantar permintaan dengan pengepala HTTP
Dalam sesetengah senario, kami perlu menyesuaikan pengepala HTTP untuk menghantar permintaan. Pada ketika ini, kita perlu menetapkan pilihan CURLOPT_HTTPHEADER untuk menetapkan pengepala HTTP, seperti yang ditunjukkan di bawah:

$url = 'https://api.example.com/data';
$params = array('name' => 'John Doe', 'email' => 'johndoe@example.com');
$headers = array(
    'Authorization: Bearer ' . $token,
    'Content-Type: application/x-www-form-urlencoded'
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($curl);
curl_close($curl);
echo $response;

Dalam kod di atas, kami mula-mula mentakrifkan URL API jauh dan parameter permintaan POST. Kemudian, kami mentakrifkan tatasusunan pengepala HTTP dan menetapkan dua pengepala HTTP: Keizinan dan Jenis Kandungan. Akhir sekali, kami menggunakan fungsi curl_setopt() untuk menetapkan pilihan CURLOPT_HTTPHEADER kepada tatasusunan pengepala HTTP yang ditentukan, dengan itu menentukan pengepala HTTP yang kami hantar.

Ringkasan
Menggunakan cURL untuk membuat panggilan API jauh ialah teknik yang sangat biasa dalam pembangunan PHP. Dalam artikel ini, kami memperkenalkan cara menggunakan cURL untuk menghantar permintaan GET, POST dan cara menghantar permintaan dengan pengepala HTTP. Sudah tentu, dalam aplikasi sebenar, terdapat banyak pilihan dan senario aplikasi lain yang perlu difahami dan digunakan secara terperinci. Saya harap artikel ini akan membantu pemula dan memberikan mereka titik permulaan yang baik.

Atas ialah kandungan terperinci Cara menggunakan cURL dalam PHP untuk membuat panggilan API jauh. 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