Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pustaka Curl dan teknologi permintaan HTTP dalam PHP

Pustaka Curl dan teknologi permintaan HTTP dalam PHP

WBOY
WBOYasal
2023-05-11 16:42:251528semak imbas

Dengan populariti dan pembangunan Internet, dan peningkatan bilangan dan kerumitan tapak web, pembangunan aplikasi berorientasikan rangkaian telah menarik lebih banyak perhatian. Dalam proses ini, teknologi permintaan HTTP dan perpustakaan Curl telah menjadi teknologi penting yang mesti dikuasai oleh pembangun. Artikel ini akan memperkenalkan pengetahuan asas, senario aplikasi dan penggunaan perpustakaan Curl dan teknologi permintaan HTTP dalam PHP.

1. Teknologi permintaan HTTP

1.1 Protokol HTTP

Protokol Pemindahan HyperText (HTTP) ialah protokol yang digunakan untuk menghantar data hiperteks (seperti HTML). HTTP ialah protokol pelayan-pelanggan Pelanggan memperoleh sumber daripada pelayan melalui permintaan HTTP, dan pelayan mengembalikan data yang diminta melalui respons HTTP. Protokol HTTP dibina pada protokol TCP/IP dan menggunakan protokol TCP untuk menyediakan perkhidmatan penghantaran yang boleh dipercayai.

1.2 Kaedah permintaan HTTP

HTTP mentakrifkan beberapa kaedah untuk menentukan operasi yang pelanggan mahu pelayan lakukan. Kaedah permintaan HTTP yang biasa digunakan termasuk:

  • DAPATKAN: dapatkan sumber yang ditentukan daripada pelayan; hantar permintaan Data disimpan dalam sumber pelayan yang ditentukan;
  • DELETE: Minta pelayan untuk memadamkan sumber yang ditentukan;
  • PILIHAN: Dapatkan sokongan pelayan Kaedah permintaan HTTP dan maklumat pengepala.
  • 1.3 Pengepala permintaan HTTP
  • Pengepala permintaan HTTP mengandungi maklumat permintaan yang dihantar oleh klien kepada pelayan, yang digunakan untuk memberitahu pelayan cara mentafsir permintaan dan respons. Pengepala permintaan HTTP yang biasa digunakan termasuk:
  • User-Agent: menentukan jenis klien;

Content-Type: menentukan jenis MIME bagi data yang diminta; Terima : Tentukan jenis MIME yang boleh diterima oleh pelanggan; > Kuki: Tentukan maklumat kuki pelanggan.

1.4 Respons HTTP
  • Respons HTTP ialah maklumat respons yang dikembalikan oleh pelayan kepada klien, biasanya termasuk kod status dan maklumat teks yang sepadan. Kod status HTTP digunakan untuk menunjukkan hasil pemprosesan permintaan Kod status HTTP yang biasa digunakan termasuk:
  • 200 OK: Permintaan berjaya;
  • 301 Dipindahkan Secara Kekal: Sumber yang diminta telah dialihkan ke URL baharu;
  • 404 Tidak Ditemui: Sumber yang dinyatakan tidak ditemui
  • 500 Ralat Pelayan Dalaman: Terdapat ralat dalaman dalam pelayan.
2. Pustaka Curl dalam PHP

2.1 Gambaran keseluruhan perpustakaan Curl

Curl ialah perpustakaan sumber terbuka yang sangat baik yang menyokong pelbagai protokol, termasuk HTTP, HTTPS dan FTP, SMTP, dsb. Ia membolehkan pembangun memuat naik dan memuat turun fail, serta menghantar permintaan HTTP, dengan cara yang mudah dan bersatu. Dalam PHP, Curl boleh digunakan untuk mengakses pelayan jauh, mengendalikan muat naik dan muat turun fail, mendapatkan kandungan rangkaian, dsb.
  • 2.2 Menggunakan Curl dalam PHP
  • Bentuk asas untuk dapat menggunakan Curl untuk membuat permintaan HTTP ialah:
  • $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
  • Kod di atas menunjukkan proses asas menggunakan Curl. Langkah pertama adalah untuk memulakan pemegang Curl dan menetapkan pilihan yang sesuai. Antaranya, CURLOPT_URL digunakan untuk menetapkan URL untuk diakses dan CURLOPT_RETURNTRANSFER digunakan untuk mengkonfigurasi sama ada untuk mengembalikan data dalam bentuk rentetan (biasanya ditetapkan kepada 1). Kemudian gunakan curl_exec() untuk mendapatkan hasil respons permintaan, dan gunakan curl_close() untuk melepaskan pemegang Curl.
  • Kes Permohonan

3.1 Dapatkan data antara muka jauh

Curl boleh digunakan untuk mendapatkan data antara muka jauh. Berikut ialah contoh coretan kod:

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.example.com/products?search=foo",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "Authorization: Token abcdefghijklmnopqrstuvwxyz",
    "Content-Type: application/json"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Kod di atas akan menghantar permintaan HTTP GET ke antara muka https://api.example.com/products?search=foo dan menyimpan hasil yang dikembalikan dalam $ tengah pembolehubah tindak balas.

3.2 Muat Naik Fail

Curl juga boleh digunakan untuk memuat naik fail. Berikut ialah contoh coretan kod:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://example.com/upload.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
            array('file' => '@/path/to/file', 'file_name' => 'new_file_name'));

$result = curl_exec($ch);
curl_close($ch);

Kod di atas akan memuat naik fail /path/to/file ke http://example.com/upload.php dalam mod POST dan menyimpan fail sebagai new_file_name .
  1. 4. Ringkasan
Artikel ini memperkenalkan aplikasi teknologi permintaan HTTP dan perpustakaan Curl dalam PHP. Teknologi permintaan HTTP, sebagai protokol pelayan-pelanggan, adalah penting untuk pembangunan aplikasi Internet. Pustaka Curl menyediakan pembangun dengan cara yang mudah dan bersatu untuk mengakses pelayan jauh, mengendalikan muat naik dan muat turun fail serta mendapatkan kandungan rangkaian. Proses menggunakan Curl agak mudah, dan pembangun boleh secara fleksibel mengkonfigurasi parameter yang berkaitan mengikut keperluan sebenar. Dalam pembangunan masa hadapan, pembangun boleh mengkaji dengan mendalam API perpustakaan Curl dan secara beransur-ansur menguasai fungsi yang lebih maju.

Atas ialah kandungan terperinci Pustaka Curl dan teknologi permintaan HTTP dalam PHP. 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
Artikel sebelumnya:Cara menggunakan XML dalam PHPArtikel seterusnya:Cara menggunakan XML dalam PHP