Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah saya boleh meniru permintaan GET pelayar dengan PHP dan cURL?

Bagaimanakah saya boleh meniru permintaan GET pelayar dengan PHP dan cURL?

Mary-Kate Olsen
Lepaskan: 2024-11-03 18:24:29
asal
385 orang telah melayarinya

How can I emulate a browser GET request with PHP and cURL?

Meniru Permintaan GET Pelayar dengan PHP dan cURL

Apabila cuba mendapatkan semula kandungan daripada pelayan web menggunakan cURL, anda mungkin menghadapi percanggahan berbanding dengan memuatkan kandungan yang sama dalam pelayar web. Ini kerana penyemak imbas web membenamkan maklumat tambahan dalam permintaan mereka, yang selalunya diperlukan untuk pengesahan dan berfungsi dengan betul.

Untuk meniru permintaan GET seperti pelayar dengan tepat, anda mesti mengkonfigurasi cURL dengan pengepala dan tetapan yang sesuai. Begini cara anda boleh melakukannya:

Ejen Pengguna: Rentetan ejen pengguna mengenal pasti jenis penyemak imbas ke pelayan. Gunakan CURLOPT_USERAGENT untuk menetapkan ejen pengguna tersuai, seperti 'Mozilla/4.0 (serasi; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)'.

Kuki: Tapak web mungkin menggunakan kuki untuk tujuan pengesahan atau penjejakan. Untuk menyokong kuki, gunakan CURLOPT_COOKIE, CURLOPT_COOKIEFILE atau CURLOPT_COOKIEJAR.

Pengesahan SSL: Jika permintaan menggunakan HTTPS (protokol selamat), cURL mungkin perlu mengesahkan sijil pelayan. Lumpuhkan pengesahan sijil menggunakan CURLOPT_SSL_VERIFYPEER untuk mengelakkan kemungkinan ralat.

Berikut ialah versi ubah suai kod anda yang menggabungkan tetapan ini:

<code class="php">$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);</code>
Salin selepas log masuk

Dengan mengkonfigurasi tetapan ini, anda boleh meniru GET seperti penyemak imbas minta dengan lebih berkesan dan berpotensi menyelesaikan sebarang isu yang anda alami semasa memuatkan halaman dengan cURL.

Atas ialah kandungan terperinci Bagaimanakah saya boleh meniru permintaan GET pelayar dengan PHP dan 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