1. Langkah asas permintaan cURL:
(1)Permulaan
(2) Tetapkan pilihan, termasuk URL
(3) Laksanakan dan dapatkan kandungan dokumen HTML
(4) Lepaskan pemegang cURL
//2 Tetapkan pilihan, termasuk URL
curl_setopt($ch, CURLOPT_URL, "http://www.cnblogs.com/it-cen/");
//Kembalikan maklumat yang diperolehi oleh curl_exec() dalam bentuk aliran fail dan bukannya mengeluarkannya secara langsung
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//Maklumat fail pengepala akan dikeluarkan sebagai aliran data apabila memulakan
curl_setopt($ch, CURLOPT_HEADER, 1);
//3 Laksanakan dan dapatkan kandungan dokumen HTML
curl_exec($ch);
//4. Pemegang pelepas
curl_close($ch);
echo $ch;
?>
Nota: Langkah kedua adalah yang paling penting, iaitu fungsi curl_setopt()
Kami boleh menambah pernyataan untuk menyemak ralat Ambil perhatian bahawa "===false" digunakan di sini untuk membezakan antara output kosong dan nilai Boolean false
Fungsi curl_getinfo() mengembalikan maklumat yang berkaitan dengan permintaan ini selepas cURL dilaksanakan, yang berguna untuk penyahpepijatan dan penyelesaian masalah:
Mari lihat contoh merebut imej:
Salin kod
//1. Permulaan
$ch = curl_init();
//2 Tetapkan pilihan, termasuk URL
curl_setopt($ch, , CURLOPT_URL, "http://img04.taobaocdn.com/tfscom/TB1omaTHXXXXXajXVXXtKXbFXXX.png");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
//3 Laksanakan dan dapatkan kandungan
$res = curl_exec($ch);
//Dapatkan maklumat
$info = curl_getinfo($ch);
//4. Keluarkan sumber
curl_close($ch);
file_put_contents("d:/aa.png", $res);
$size = filesize("d:/aa.png");
jika ($saiz != $info['size_download']) {
echo "Data yang dimuat turun tidak lengkap, sila muat turun semula";
} lain {
echo "Data muat turun selesai";
}
?>
3. Gunakan kaedah POST untuk menghantar data dalam cURL
$data = tatasusunan('nama'=>'kelly', 'umur'=>27, 'jantina'=>1);
curl_setopt($ch, CURLOPT_URL, "http://localhost.post.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//Tetapkan untuk menyiarkan
curl_setopt($ch, CURLOPT_POST, 1);
//Tambah
pada pembolehubah siaran
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
$res = curl_exec($ch);
curl_close($ch);
gema $res;
?>
Gunakan kaedah ini untuk mensimulasikan meninggalkan mesej, atau anda boleh duduk di atas robot yang mengisi air Ideanya adalah sama
4. Muat naik fail menggunakan cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://127.0.0.1/Socket/upload_file.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$res = curl_exec($ch);
curl_close($ch);
gema $res;
?>
Nota: Apabila menghantar fail, awalan nama fail dengan @ dan gunakan laluan penuh
5. Tetapan cURL
Malah, cURL mempunyai banyak pilihan konfigurasi ini adalah jiwa cURL. Ini adalah ringkasan beberapa item konfigurasi yang biasa dan penting gunakan cURL pada masa hadapan Bantuan:
CURLOPT_AUTOREFERER: Apabila mengubah hala berdasarkan lokasi:, tetapkan maklumat Perujuk: secara automatik dalam pengepala
CURLOPT_COOKIESESSION: Apabila didayakan, cURL akan melepasi kuki sesi dengan ketat dan mengabaikan kuki lain
CURLOPT_HEADER: Keluarkan maklumat fail pengepala sebagai aliran data
CURLOPT_INFILESIZE: Tetapkan saiz fail yang dimuat naik dalam bait
CURLOPT_MAXCONNECTS: Bilangan maksimum sambungan dibenarkan
CURLOPT_MAXREDIRS: Tentukan bilangan maksimum ubah hala HTTP
CURLOPT_COOKIE: Tetapkan kandungan bahagian "kuki:" permintaan HTTP Berbilang kuki diikuti dengan koma bertitik, dan terdapat ruang selepas koma bertitik
CURLOPT_POSTFIELDS: Semua data dihantar menggunakan operasi "POST" dalam protokol HTTP Untuk menghantar fail, tambah @ awalan di hadapan nama fail dan gunakan laluan penuh
......
Sila rujuk manual PHP untuk item konfigurasi yang lebih khusus
cURL sangat berkuasa Ia adalah perpustakaan universal dan bukan unik untuk PHP.
Saya harap pembaca akan mendapat sesuatu daripada mempelajari beberapa contoh cURL klasik dalam catatan blog ini.