Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mencontohi Permintaan GET Seperti Pelayar dengan Curl?

Bagaimanakah Saya Boleh Mencontohi Permintaan GET Seperti Pelayar dengan Curl?

Barbara Streisand
Barbara Streisandasal
2024-11-04 03:48:02925semak imbas

How Can I Emulate Browser-Like GET Requests with Curl?

Meniru Permintaan GET Seperti Pelayar dengan Curl

Apabila membuat permintaan HTTP GET dengan Curl, kadangkala perlu meniru gelagat web pelayar untuk mengelakkan ralat pelayan. Begini cara untuk melakukannya:

Gunakan CURLOPT_USERAGENT

Sesetengah tapak web menyemak rentetan ejen pengguna untuk menentukan sama ada permintaan itu datang daripada penyemak imbas. Mulakan Curl dan tetapkan pilihan ejen pengguna dengan rentetan penyemak imbas yang dikehendaki:

$agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
curl_setopt($ch, CURLOPT_USERAGENT, $agent);

Kendalikan Kuki (Pilihan)

Jika tapak web bergantung pada kuki, gunakan CURLOPT_COOKIE, Pilihan CURLOPT_COOKIEFILE dan/atau CURLOPT_COOKIEJAR untuk lulus dan menyimpan kuki:

curl_setopt($ch, CURLOPT_COOKIE, 'key1=value1; key2=value2');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');

Sahkan Sijil SSL (HTTPS Sahaja)

Permintaan melalui HTTPS memerlukan sijil SSL yang disahkan. Tetapkan CURLOPT_SSL_VERIFYPEER kepada palsu untuk mengabaikan pengesahan:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

Kod Contoh

Berikut ialah skrip contoh yang menggabungkan pilihan ini:

$url="https://new.aol.com/productsweb/subflows/ScreenNameFlow/AjaxSNAction.do?s=username&f=firstname&l=lastname";
$agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
var_dump($result);

Dengan menggunakan pilihan ini, anda boleh meniru permintaan GET seperti pelayar dengan tepat dengan Curl, memastikan pelayan bertindak balas seolah-olah permintaan itu datang daripada pelayar web sebenar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencontohi Permintaan GET Seperti Pelayar dengan Curl?. 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