Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mendapatkan URL Sebenar Selepas Pengalihan dengan file_get_contents() dalam PHP?

Bagaimana untuk Mendapatkan URL Sebenar Selepas Pengalihan dengan file_get_contents() dalam PHP?

Linda Hamilton
Linda Hamiltonasal
2024-10-28 23:32:30853semak imbas

How to Get the Real URL After Redirection with file_get_contents() in PHP?

Mendapatkan URL Sebenar Selepas Ubah Hala dengan file_get_contents

Apabila menggunakan file_get_contents() untuk mengambil kandungan tapak web, anda mungkin menghadapi situasi di mana URL yang disediakan mengubah hala ke lokasi lain. Dalam kes sedemikian, adalah perlu untuk mendapatkan URL sebenar selepas ubah hala.

Mengendalikan Lencongan dengan file_get_contents()

Menggunakan file_get_contents() secara lalai mengikuti ubah hala. Untuk mengelakkan ubah hala automatik, anda boleh menggunakan konteks strim tersuai. Dengan menetapkan pilihan 'follow_location' kepada palsu, anda boleh melumpuhkan ubah hala automatik.

<code class="php">$context = stream_context_create(
    array(
        'http' => array(
            'follow_location' => false
        )
    )
);

$html = file_get_contents('http://www.example.com/', false, $context);</code>

Mengakses URL Sebenar

Selepas melumpuhkan ubah hala automatik, anda boleh mendapatkan semula URL sebenar daripada tatasusunan 'http_response_header'. Pengepala ini mengandungi pelbagai butiran respons HTTP, termasuk lokasi halaman diubah hala.

<code class="php">var_dump($http_response_header);</code>

Dengan mencetak 'http_response_header', anda boleh mencari pengepala 'Lokasi' dalam tatasusunan. Nilai pengepala ini akan menunjukkan URL sebenar selepas ubah hala.

Inspirasi

Penyelesaian ini diilhamkan oleh perbincangan Stack Overflow: [Bagaimanakah saya mengabaikan pengepala bergerak dengan file_get_contents dalam PHP?](https://stackoverflow.com/questions/7253653/how-do-i-ignore-a-moved-header-with-file-get-contents-in-php)

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan URL Sebenar Selepas Pengalihan dengan file_get_contents() dalam PHP?. 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