>백엔드 개발 >PHP 문제 >PHP에서 URL을 요청할 때 응답의 헤더 정보를 얻는 방법

PHP에서 URL을 요청할 때 응답의 헤더 정보를 얻는 방법

coldplay.xixi
coldplay.xixi원래의
2020-08-03 13:31:033510검색

PHP에서 URL을 요청할 때 응답의 헤더 정보를 얻는 방법: 1. URL을 가져올 때 [$http_response_header]라는 변수를 만들어 http 응답의 헤더를 저장합니다. 2. fopen을 사용하여 데이터를 엽니다. 스트림 정보를 사용하고 [stream_get_meta_data] 가져오기를 사용합니다.

PHP에서 URL을 요청할 때 응답의 헤더 정보를 얻는 방법

URL 요청 시 php에서 응답하는 헤더 정보를 얻는 방법:

1 file_get_contents 또는 fopen, file, <code>readfile 및 기타 함수는 $http_response_header라는 변수를 생성하여 http 응답의 헤더를 저장합니다. file_get_contents或者fopenfilereadfile等函数读取url的时候,会创建一个名 为$http_response_header的变量来保存http响应的报头.

示例代码一:

<?php 
       $url = &#39;http://www.baidu.com&#39;; 
       $html = file_get_contents($url); 
       print_r($http_response_header); 
    //输出结果 
       Array( 
            [0] => HTTP/1.1 200 OK 
            [1] => Date: Tue, 06 Nov 2012 08:51:01 GMT 
            [2] => Server: BWS/1.0 
            [3] => Content-Length: 9803 
            [4] => Content-Type: text/html;charset=gbk 
            [5] => Cache-Control: private 
            [6] => Expires: Tue, 06 Nov 2012 08:51:01 GMT 
            [7] => Set-Cookie: BAIDUID=6635735B51B28640F425F802C49340F2:FG=1;  
            expires=Tue, 06-Nov-42 08:51:01 GMT; path=/; domain=.baidu.com 
            [8] => P3P: CP=" OTI DSP COR IVA OUR IND COM " 
            [9] => Connection: Close 
      )       
  ?>

2、使用fopen等函数打开的数据流信息可以用 stream_get_meta_data来获取。

示例代码二:

   <?php 
     $fp = fopen($url, &#39;r&#39;); 
     print_r(stream_get_meta_data($fp)); 
     fclose($fp); 
//输出结果 
Array 
( 
    [wrapper_data] => Array 
        ( 
            [0] => HTTP/1.1 200 OK 
            [1] => Date: Tue, 06 Nov 2012 08:54:22 GMT 
            [2] => Server: BWS/1.0 
            [3] => Content-Length: 9803 
            [4] => Content-Type: text/html;charset=gbk 
            [5] => Cache-Control: private 
            [6] => Expires: Tue, 06 Nov 2012 08:54:22 GMT 
            [7] => Set-Cookie: BAIDUID=347578BCBD709F27925BDD8B05364A73:FG=1; 
             expires=Tue, 06-Nov-42 08:54:22 GMT; path=/; domain=.baidu.com 
            [8] => P3P: CP=" OTI DSP COR IVA OUR IND COM " 
            [9] => Connection: Close 
        ) 
   
    [wrapper_type] => http 
    [stream_type] => tcp_socket 
    [mode] => r 
    [unread_bytes] => 0 
    [seekable] =>  
    [uri] => http://www.baidu.com 
    [timed_out] =>  
    [blocked] => 1 
    [eof] =>  
) 
?>

3、get_headers()

샘플 코드 1:

<?php 
print_r(get_headers($url)); 
Array 
( 
    [0] => HTTP/1.1 200 OK 
    [1] => Date: Tue, 06 Nov 2012 08:58:41 GMT 
    [2] => Server: BWS/1.0 
    [3] => Content-Length: 9803 
    [4] => Content-Type: text/html;charset=gbk 
    [5] => Cache-Control: private 
    [6] => Expires: Tue, 06 Nov 2012 08:58:41 GMT 
    [7] => Set-Cookie: BAIDUID=87B6F26EEC74F2B8F7FABA934DC6BB24:FG=1;  
    expires=Tue, 06-Nov-42 08:58:41 GMT; path=/; domain=.baidu.com 
    [8] => P3P: CP=" OTI DSP COR IVA OUR IND COM " 
    [9] => Connection: Close 
) 
?>

2. 데이터 fopen 등의 함수를 사용하여 오픈한 스트림 정보는 stream_get_meta_data를 이용하여 얻을 수 있습니다.

샘플 코드 2: rrreee3. get_headers()도 요청 URL의 응답 메시지를 가져올 수 있습니다.

샘플 코드 3:
rrreee🎜🎜관련 학습 권장 사항: 🎜php 그래픽 튜토리얼 🎜🎜🎜🎜

위 내용은 PHP에서 URL을 요청할 때 응답의 헤더 정보를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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