>백엔드 개발 >PHP 튜토리얼 >PHP의 file_get_contents()가 사용자 정의 HTTP 헤더를 보낼 수 있습니까?

PHP의 file_get_contents()가 사용자 정의 HTTP 헤더를 보낼 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-10 05:42:12526검색

Can file_get_contents() in PHP Send Custom HTTP Headers?

file_get_contents()로 HTTP 헤더 사용자 정의

PHP의 file_get_contents() 함수는 웹 리소스를 검색하기 위한 다목적 도구입니다. 제한된 옵션과 함께 사용되는 경우가 많기 때문에 사용자는 전체 기능에 대해 궁금해합니다. 특히 file_get_contents()를 사용하여 사용자 정의 HTTP 헤더를 보내는 것이 논쟁의 대상이었습니다.

가능한가요?

예, 사용자 정의 HTTP 헤더를 보내는 것이 가능합니다. file_get_contents()를 사용합니다. 이는 stream_context_create()를 사용하여 스트림 컨텍스트를 생성하고 http 옵션에서 원하는 헤더를 설정함으로써 달성할 수 있습니다.

// Create a stream context with custom headers
$opts = [
    "http" => [
        "method" => "GET",
        "header" => "Accept-language: en\r\nCookie: foo=bar\r\n"
    ]
];
$context = stream_context_create($opts);

// Retrieve the web resource using the custom stream context
$file = file_get_contents('http://www.example.com/', false, $context);

이 예에서는 "Accept-언어" 및 "쿠키" 헤더를 설정합니다. 하지만 필요에 따라 유효한 HTTP 헤더를 추가할 수 있습니다.

대안 접근 방식

사용자 정의 스트림 컨텍스트가 있는 file_get_contents()가 실행 가능한 옵션인 반면, 사용자 정의 HTTP 헤더를 보내는 데 사용할 수 있는 대체 함수가 있습니다.

  • curl_init(): 더 많은 기능을 제공합니다. 사용자 정의 헤더 설정 기능을 포함하여 HTTP 요청에 대한 세밀한 제어.
  • fopen() with $protocol == 'http:': 헤더 조작을 허용하는 HTTP 스트림 리소스를 생성합니다.

사용할 기능의 선택은 프로젝트의 특정 요구 사항과 선호도에 따라 다릅니다.

위 내용은 PHP의 file_get_contents()가 사용자 정의 HTTP 헤더를 보낼 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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