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

Linda Hamilton
Lepaskan: 2024-10-28 23:32:30
asal
852 orang telah melayarinya

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

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

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!