Bagaimanakah php menggunakan CURL untuk permintaan HTTP?

WBOY
Lepaskan: 2023-05-31 22:32:01
asal
1583 orang telah melayarinya

Dalam pembangunan web, kita selalunya perlu berkomunikasi dan berinteraksi dengan tapak web atau perkhidmatan lain. Permintaan HTTP ialah cara penting untuk mencapai interaksi ini. Dalam pembangunan PHP, perpustakaan CURL ialah alat yang berkuasa untuk mengendalikan permintaan HTTP. Artikel ini akan memperkenalkan cara menggunakan CURL untuk membuat permintaan HTTP.

  1. Pengenalan kepada perpustakaan CURL

CURL ialah perpustakaan alat untuk menghantar data. Ia menyokong banyak protokol, termasuk HTTP, HTTPS, FTP, Telnet dan banyak lagi. Ciri CURL ialah ia menyokong berbilang kaedah, berbilang kaedah pengesahan, berbilang tetapan pengepala dan fungsi lain. Oleh itu, CURL sangat sesuai untuk mengendalikan pelbagai permintaan dan interaksi yang diperlukan dalam pembangunan web.

  1. Pemasangan perpustakaan CURL

Sebelum menggunakan CURL, kami perlu memastikan bahawa perpustakaan CURL telah dipasang dalam persekitaran PHP kami. Kita boleh menggunakan arahan berikut untuk menyemak sama ada perpustakaan CURL telah dipasang:

php -i | grep curl
Salin selepas log masuk

Jika tiada output, ini bermakna perpustakaan CURL tidak dipasang. Di Ubuntu, kita boleh menggunakan arahan berikut untuk memasang perpustakaan CURL:

sudo apt-get install php-curl
Salin selepas log masuk

Dalam CentOS, kita boleh menggunakan arahan berikut untuk memasang perpustakaan CURL:

sudo yum install php-curl
Salin selepas log masuk
  1. Penggunaan asas bagi perpustakaan CURL

Mari kita lihat penggunaan asas perpustakaan CURL. Mula-mula kita perlu membuat pemegang CURL:

$curl = curl_init();
Salin selepas log masuk

Kemudian, kita boleh menetapkan beberapa pilihan, seperti URL, kaedah permintaan, pengepala permintaan, badan permintaan, dll.:

curl_setopt($curl, CURLOPT_URL, "http://www.example.com");
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: text/plain'));
curl_setopt($curl, CURLOPT_POSTFIELDS, "param1=value1&param2=value2");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
Salin selepas log masuk

Antaranya, pilihan CURLOPT_URL digunakan Tentukan alamat URL permintaan; pilihan CURLOPT_HTTPHEADER digunakan untuk menentukan pengepala permintaan; pilihan digunakan untuk menetapkan tamat masa permintaan. Seterusnya, kita boleh melaksanakan permintaan dan mendapatkan keputusan melalui kod berikut:

$result = curl_exec($curl);

if ($result === false) {
    echo 'CURL ERROR: ' . curl_error($curl);
} else {
    echo $result;
}
Salin selepas log masuk

Antaranya, fungsi curl_exec() digunakan untuk melaksanakan permintaan dan mendapatkan keputusan. Jika palsu dikembalikan, ini bermakna ralat telah berlaku dalam permintaan, dan kami boleh menggunakan fungsi curl_error() untuk mendapatkan maklumat ralat jika tidak, kami boleh mengeluarkan hasilnya secara langsung.

  1. Penggunaan lanjutan perpustakaan CURL

Dalam pembangunan sebenar, kami mungkin perlu menggunakan beberapa fungsi lanjutan untuk mengendalikan permintaan HTTP. Sebagai contoh, kami mungkin perlu menggunakan sijil SSL untuk komunikasi yang disulitkan; kami mungkin perlu menjejaki ubah hala; Di bawah ini kami akan memperkenalkan beberapa penggunaan lanjutan perpustakaan CURL.

4.1 Penggunaan sijil SSL

Jika kita perlu menggunakan sijil SSL untuk komunikasi selamat, maka kita perlu mengkonfigurasi pilihan yang sepadan dalam perpustakaan CURL. Sebagai contoh, kita boleh menggunakan kod berikut untuk menentukan sijil SSL dan fail kunci:

curl_setopt($curl, CURLOPT_SSLCERT, "/path/to/cert.pem");
curl_setopt($curl, CURLOPT_SSLKEY, "/path/to/key.pem");
Salin selepas log masuk

Antaranya, pilihan CURLOPT_SSLCERT digunakan untuk menentukan laluan fail sijil SSL, pilihan CURLOPT_SSLKEY digunakan untuk menentukan SSL laluan fail utama.

4.2 Pemprosesan ubah hala

Sesetengah tapak web akan mengubah hala Apabila kami melawat halaman, ia akan melompat ke halaman lain secara automatik. Untuk mengendalikan situasi ini, kita perlu mendayakan pengalihan dalam perpustakaan CURL. Sebagai contoh, kita boleh menggunakan kod berikut untuk mendayakan ubah hala:

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
Salin selepas log masuk

Di sini, pilihan CURLOPT_FOLLOWLOCATION digunakan untuk menentukan sama ada untuk menjejak ubah hala. Jika ditetapkan kepada benar, pustaka CURL akan menjejak ubah hala secara automatik dan mendapatkan hasil halaman akhir.

4.3 Penggunaan WebSocket

Jika kita perlu menggunakan WebSocket untuk komunikasi, maka kita perlu mendayakan pilihan WebSocket dalam perpustakaan CURL. Sebagai contoh, kita boleh menggunakan kod berikut untuk mendayakan WebSocket:

curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Connection: Upgrade',
    'Upgrade: websocket'
));
Salin selepas log masuk

Di sini, kita perlu menambah pilihan Sambungan: Naik Taraf dan Naik Taraf: websocket pada pengepala permintaan untuk memberitahu pelayan yang kita mahu gunakan WebSocket untuk komunikasi.

  1. Ringkasan

Artikel ini memperkenalkan cara menggunakan perpustakaan CURL untuk membuat permintaan HTTP. Kami mula-mula memperkenalkan kaedah pengenalan dan pemasangan perpustakaan CURL, dan kemudian menerangkan penggunaan asas perpustakaan CURL dan beberapa kegunaan lanjutan, seperti sijil SSL, pengalihan semula, WebSocket, dsb. Saya harap artikel ini dapat membantu semua orang menggunakan perpustakaan CURL dengan lebih baik untuk mengendalikan pelbagai permintaan HTTP dan interaksi dalam pembangunan web.

Atas ialah kandungan terperinci Bagaimanakah php menggunakan CURL untuk permintaan HTTP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan