Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah PHP Curl mengendalikan ubah hala 301 pada halaman web?

Bagaimanakah PHP Curl mengendalikan ubah hala 301 pada halaman web?

WBOY
WBOYasal
2024-03-08 16:36:04723semak imbas

PHP Curl如何处理网页的301跳转?

Tajuk: Bagaimanakah PHP Curl mengendalikan ubah hala 301 pada halaman web?

Dalam proses merangkak web atau mengikis data, kami sering menghadapi situasi di mana halaman web mengembalikan ubah hala 301 apabila diminta. Pada masa ini, kita perlu menggunakan PHP Curl untuk mengendalikan situasi ini bagi memastikan kandungan halaman web sasaran dapat diperoleh dengan betul. Dalam contoh berikut, saya akan menunjukkan cara menggunakan PHP Curl untuk mengendalikan ubah hala 301 ke halaman web. Mari kita lihat.

<?php

// 目标网页的URL
$url = 'https://example.com';

// 初始化Curl
$ch = curl_init();

// 设置Curl选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 开启自动跳转

// 执行Curl请求
$response = curl_exec($ch);

// 检查是否发生301跳转
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == 301) {
    // 获取重定向后的URL
    $redirectUrl = curl_getinfo($ch, CURLINFO_REDIRECT_URL);
    
    // 重新请求重定向后的URL
    curl_setopt($ch, CURLOPT_URL, $redirectUrl);
    $response = curl_exec($ch);
}

// 关闭Curl
curl_close($ch);

// 输出获取到的页面内容
echo $response;

?>

Dalam contoh di atas, kami mula-mula mentakrifkan URL halaman sasaran dan memulakan sesi Curl. Kemudian tetapkan beberapa pilihan Curl, termasuk menetapkan pilihan untuk menjejak ubah hala 301 kepada benar. Kemudian laksanakan permintaan Curl untuk mendapatkan kandungan halaman web.

Kami menggunakan fungsi curl_getinfo untuk menyemak sama ada kod status HTTP yang diminta ialah 301. Jika ia adalah ubah hala 301, kami akan mendapat URL yang diubah hala dan menggunakan Curl sekali lagi untuk meminta URL yang diubah hala untuk mendapatkan kandungan akhir. Akhir sekali, tutup sesi Curl dan keluarkan kandungan halaman yang diperolehi.

Melalui contoh di atas, kami berjaya mengendalikan lompatan 301 halaman web dan memastikan kandungan halaman web sasaran boleh diperoleh dengan betul apabila menggunakan PHP Curl. harap ia membantu anda!

Atas ialah kandungan terperinci Bagaimanakah PHP Curl mengendalikan ubah hala 301 pada halaman web?. 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