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

Linda Hamilton
Release: 2024-10-28 23:32:30
Original
950 people have browsed it

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

Getting the Real URL After Redirection with file_get_contents

When using file_get_contents() to fetch website content, you may encounter situations where the provided URL redirects to a different location. In such cases, it becomes necessary to obtain the actual URL after the redirection.

Handling Redirects with file_get_contents()

Using file_get_contents() by default follows redirects. To prevent automatic redirection, you can utilize a custom stream context. By setting the 'follow_location' option to false, you can disable automatic redirection.

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

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

Accessing the Actual URL

After disabling automatic redirection, you can retrieve the actual URL from the 'http_response_header' array. This header contains various HTTP response details, including the location of the redirected page.

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

By printing the 'http_response_header', you can locate the 'Location' header within the array. This header value will indicate the actual URL after the redirection.

Inspiration

This solution was inspired by a Stack Overflow discussion: [How do I ignore a moved-header with file_get_contents in PHP?](https://stackoverflow.com/questions/7253653/how-do-i-ignore-a-moved-header-with-file-get-contents-in-php)

The above is the detailed content of How to Get the Real URL After Redirection with file_get_contents() in PHP?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template