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
Lepaskan: 2024-11-04 03:48:02
asal
836 orang telah melayarinya

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);
Salin selepas log masuk

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');
Salin selepas log masuk

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan