Bagaimana untuk Meniru Permintaan GET Pelayar Web dengan Curl?

Susan Sarandon
Lepaskan: 2024-11-03 19:58:02
asal
457 orang telah melayarinya

How to Emulate a Web Browser's GET Request with Curl?

Meniru Permintaan GET Penyemak Imbas Web dengan Curl

Apabila cuba mendapatkan semula halaman web menggunakan curl, anda mungkin menghadapi ralat yang kelihatan berpunca daripada pengepala permintaan yang tidak dikenali atau tidak dipenuhi. Ini kerana curl tidak secara asal meniru pengepala permintaan GET penyemak imbas web.

Untuk mensimulasikan penyemak imbas web dengan betul, ikut langkah berikut:

  1. Konfigurasikan Ejen Pengguna :

    • Tetapkan ejen pengguna yang sah kepada permintaan curl menggunakan CURLOPT_USERAGENT. Ini memberitahu pelayan pelayar dan sistem pengendalian yang anda simulasikan.
  2. Kendalikan Kuki (Pilihan):

    • Pelayan boleh menggunakan kuki untuk mengesahkan permintaan. Untuk mengurus kuki, gunakan CURLOPT_COOKIE, CURLOPT_COOKIEFILE dan CURLOPT_COOKIEJAR.
  3. Sahkan Sijil SSL:

    • Jika permintaan melibatkan HTTPS, anda mungkin perlu mengesahkan sijil SSL. Gunakan CURLOPT_SSL_VERIFYPEER untuk melumpuhkan pengesahan sijil (tidak disyorkan untuk sambungan selamat).
  4. Tetapkan Mod Verbose:

    • Untuk mencetak nyahpepijat maklumat dan memberikan cerapan tentang proses permintaan-tindak balas, dayakan CURLOPT_VERBOSE.
  5. Contoh Kod:

    • Berikut ialah contoh dikemas kini yang merangkumi penambahbaikan 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

Atas ialah kandungan terperinci Bagaimana untuk Meniru Permintaan GET Pelayar Web 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