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()
curl
3. Penggunaan asas CURL
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
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_RETURNTRANSFER
CURLOPT_HEADER
<?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_POST
CURLOPT_POSTFIELDS
Perlu diambil perhatian bahawa untuk menghantar data POST ke pelayan dengan betul, maklumat pengepala
fungsi Content-Type
. curl_setopt()
CURLOPT_HTTPHEADER
4. Penggunaan lanjutan CURL
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_HTTPHEADER
Kod 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 fungsi curl_setopt()
. CURLOPT_SSL_VERIFYPEER
CURLOPT_SSL_VERIFYHOST
Sebagai 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 kukicurl_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!