문제: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!