Rumah >pembangunan bahagian belakang >tutorial php >Bermula dengan PHP: CURL Extension

Bermula dengan PHP: CURL Extension

王林
王林asal
2023-05-21 08:36:051788semak imbas

PHP ialah bahasa yang digunakan secara meluas dalam pembangunan web, dan CURL ialah salah satu sambungan yang paling banyak digunakan dalam PHP. Artikel ini akan memperkenalkan anda kepada penggunaan asas dan aplikasi CURL untuk membantu pemula bermula dengan cepat.

1. Pengenalan kepada CURL

CURL ialah alat baris arahan yang menggunakan sintaks URL untuk menghantar data. Ia juga merupakan perpustakaan yang menyokong berbilang protokol dan boleh dijalankan pada berbilang platform. Apabila menggunakan sambungan CURL dalam PHP, ia digunakan terutamanya untuk komunikasi rangkaian melalui protokol seperti HTTP dan HTTPS untuk menghantar data ke pelayan lain, mendapatkan respons pelayan, mensimulasikan penyerahan borang, dsb.

2. Pemasangan CURL

Untuk menggunakan sambungan CURL dalam PHP, anda perlu mengesahkan bahawa persekitaran setempat mempunyai sokongan untuk perpustakaan CURL. Dalam Linux dan Mac OS

Selepas pemasangan selesai, anda boleh menyemak sama ada ia telah dipasang melalui fungsi

Jika ia menggesa bahawa sokongan

didayakan, ini bermakna sambungan CURL sudah sedia. phpinfo()curl3. Penggunaan asas CURL

Hantar permintaan GET
  1. Format asas menghantar permintaan GET ialah:
sudo apt-get install libcurl4-openssl-dev // Debian/Ubuntu 

sudo yum install curl-devel // CentOS/Fedora

Di mana , Fungsi

digunakan untuk memulakan objek CURL, fungsi

digunakan untuk menetapkan pilihan permintaan CURL, fungsi curl_init() digunakan untuk melaksanakan permintaan CURL dan mendapatkan hasil tindak balas, dan Fungsi curl_setopt() digunakan untuk menutup objek CURL. curl_exec()curl_close()Dalam contoh di atas, kami menggunakan fungsi

untuk menetapkan URL yang diminta, pilihan

dan pilihan curl_setopt(). Antaranya, apabila pilihan CURLOPT_RETURNTRANSFER ditetapkan kepada 1, bermakna hasil respons yang diperolehi akan dikembalikan dalam bentuk rentetan. Apabila pilihan CURLOPT_HEADER ditetapkan kepada 0, ini bermakna maklumat pengepala respons tidak disertakan dalam hasil respons. CURLOPT_RETURNTRANSFERCURLOPT_HEADER

Hantar permintaan POST
  1. Format asas menghantar permintaan POST ialah:
<?php
//创建CURL对象
$ch = curl_init();
//设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, "http://api.example.com/user?id=123");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//执行CURL请求并获取响应结果
$output = curl_exec($ch);
//关闭CURL对象
curl_close($ch);
//输出响应结果
echo $output; 
?>

Antaranya, fungsi

menambah dua pilihan baharu:

dan curl_setopt(). Apabila pilihan CURLOPT_POST ditetapkan kepada 1, ini bermakna permintaan dihantar dalam mod POST Apabila pilihan CURLOPT_POSTFIELDS ditetapkan kepada rentetan, ini bermakna data dihantar sebagai kandungan permintaan POST. CURLOPT_POSTCURLOPT_POSTFIELDSPerlu diambil perhatian bahawa untuk menghantar data POST ke pelayan dengan betul, maklumat pengepala

yang betul perlu ditetapkan. Ini boleh ditetapkan melalui pilihan

fungsi Content-Type. curl_setopt()CURLOPT_HTTPHEADER4. Penggunaan lanjutan CURL

Tetapkan maklumat pengepala HTTP
  1. Anda boleh menetapkan HTTP melalui pilihan
fungsi

maklumat tajuk. curl_setopt()

<?php
//创建CURL对象
$ch = curl_init();
//设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, "http://api.example.com/user");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "id=123&name=John");

//执行CURL请求并获取响应结果
$output = curl_exec($ch);
//关闭CURL对象
curl_close($ch);
//输出响应结果
echo $output;
?>
CURLOPT_HTTPHEADERKod di atas menetapkan maklumat pengepala Jenis Kandungan kepada aplikasi/json, menetapkan maklumat pengepala bernama Keizinan dan menetapkan nilai untuknya. Tujuan pengepala ini adalah untuk menyediakan token keselamatan untuk permintaan supaya pelayan boleh mengesahkan kesahihan permintaan.

Pengesahan SSL/TLS
  1. Pengesahan SSL/TLS ialah mekanisme untuk memastikan keselamatan permintaan dengan menilai kesahihan sijil penyulitan. CURL menyediakan pelbagai kaedah pengesahan keselamatan, yang boleh dicapai melalui pilihan
dan

fungsi curl_setopt(). CURLOPT_SSL_VERIFYPEERCURLOPT_SSL_VERIFYHOSTSebagai contoh, kod berikut boleh digunakan untuk mematikan pengesahan sijil SSL:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Bearer xxx'));

Perlu diambil perhatian bahawa dalam aplikasi sebenar, membolehkan pengesahan sijil SSL sebanyak yang mungkin adalah penting untuk memastikan keselamatan permintaan.

Pemprosesan kuki
  1. CURL boleh mengendalikan Kuki HTTP secara automatik, yang memberikan kemudahan hebat untuk mengurus sesi pengguna. Kita boleh menggunakan pilihan CURLOPT_COOKIEJAR bagi fungsi curl_setopt() untuk menyimpan maklumat kuki yang dikembalikan oleh pelayan.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

Apabila menghantar permintaan seterusnya, gunakan pilihan CURLOPT_COOKIEFILE bagi fungsi curl_setopt() untuk menentukan laluan fail tempat maklumat kuki disimpan.

curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies');

4. Ringkasan

Melalui pengenalan artikel ini, saya percaya bahawa pembaca pada mulanya telah memahami penggunaan asas sambungan CURL, termasuk menghantar permintaan GET/POST, menetapkan maklumat pengepala HTTP, SSL / Pengesahan TLS dan pengendalian kuki, kandungan ini akan membantu kami komunikasi rangkaian program yang lebih baik. Seterusnya, anda boleh cuba menggunakan sambungan CURL untuk membangunkan beberapa aplikasi rangkaian praktikal, teruskan mengetahui lebih lanjut dan meningkatkan kemahiran pengaturcaraan anda.

Atas ialah kandungan terperinci Bermula dengan PHP: CURL Extension. 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