>백엔드 개발 >PHP 튜토리얼 >PHP에서 file_get_contents()를 사용할 때 리디렉션 후 최종 URL을 어떻게 얻을 수 있습니까?

PHP에서 file_get_contents()를 사용할 때 리디렉션 후 최종 URL을 어떻게 얻을 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-28 09:52:29301검색

How Can I Get the Final URL After Redirects When Using file_get_contents() in PHP?

File_Get_Contents: 최종 URL 공개

문제: file_get_contents()를 사용하여 콘텐츠를 스크랩하는 동안 리디렉션이 발생하지만 실제 URL을 찾고 싶습니다. .

해결책:

file_get_contents()가 일반적으로 리디렉션을 처리하지만 명시적으로 제어가 필요한 경우 다음 접근 방식을 사용하세요.

<code class="php">// Disable automatic redirect following
$context = stream_context_create([
    'http' => [
        'follow_location' => false
    ]
]);

// Retrieve the content with no redirects
$html = file_get_contents('http://www.example.com/', false, $context);

// Access the HTTP response headers to determine the actual URL
var_dump($http_response_header);</code>

By 'follow_location'을 false로 설정하면 file_get_contents()가 자동으로 리디렉션을 따르는 것을 방지할 수 있습니다. 응답 헤더($http_response_header에서 사용 가능)에는 리디렉션 후 실제 URL을 나타내는 "Location" 헤더가 포함됩니다.

팁: 이 접근 방식은 How do에서 제공되는 솔루션에서 영감을 받았습니다. PHP에서 file_get_contents가 있는 이동된 헤더를 무시합니까?

위 내용은 PHP에서 file_get_contents()를 사용할 때 리디렉션 후 최종 URL을 어떻게 얻을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.