>백엔드 개발 >PHP 튜토리얼 >file_get_contents()가 실패하는 이유는 무엇이며 cURL이 'HTTP 요청 실패' 오류를 어떻게 수정할 수 있습니까?

file_get_contents()가 실패하는 이유는 무엇이며 cURL이 'HTTP 요청 실패' 오류를 어떻게 수정할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-10 07:41:13280검색

Why Does file_get_contents() Fail and How Can cURL Fix

PHP file_get_contents() "HTTP 요청 실패" 오류 해결

file_get_contents()를 활용하여 지정된 URL에서 콘텐츠를 검색하려고 하면, 사용자에게 다음 오류가 발생할 수 있습니다: "경고: file-get-contents()가 스트림을 열지 못했습니다: HTTP 요청이 실패했습니다! HTTP/1.1 202 허용됨." 이 오류는 HTTP 요청을 성공적으로 실행할 수 없을 때 발생합니다.

이 문제를 해결하기 위한 대체 접근 방식은 cURL 확장을 사용하는 것입니다. cURL은 HTTP 요청에 대한 더 강력한 제어 기능을 제공하고 추가 구성 옵션을 허용합니다. 다음은 cURL을 사용하여 수정된 코드 조각입니다.

<?php

$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, 'http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name');
$query = curl_exec($curl_handle);
curl_close($curl_handle);

?>

이 수정된 버전에서는 cURL 기능을 활용하여 HTTP 요청을 시작합니다. 컬 핸들을 정의하고 다양한 옵션을 설정합니다.

  • CURLOPT_URL: 대상 URL을 지정합니다.
  • CURLOPT_CONNECTTIMEOUT: 설립 연결.
  • CURLOPT_RETURNTRANSFER: 출력이 문자열로 반환되어야 함을 나타냅니다.
  • CURLOPT_USERAGENT: 요청에 대한 사용자 지정 사용자 에이전트를 설정합니다.

cURL을 활용하여, HTTP 요청을 보다 세밀하게 제어할 수 있으며 file_get_contents()에서 발생하는 "HTTP 요청 실패" 오류를 효과적으로 해결할 수 있습니다.

위 내용은 file_get_contents()가 실패하는 이유는 무엇이며 cURL이 'HTTP 요청 실패' 오류를 어떻게 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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