ホームページ  >  記事  >  バックエンド開発  >  PHPでURLリクエスト時にレスポンスのヘッダ情報を取得する方法

PHPでURLリクエスト時にレスポンスのヘッダ情報を取得する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-08-03 13:31:033506ブラウズ

URL をリクエストするときに応答のヘッダー情報を取得する方法: 1. URL を取得するときに、[$http_response_header] という名前の変数を作成して http 応答のヘッダーを保存します; 2. fopen を使用して開きますデータフロー情報は、[stream_get_meta_data]を使用して取得します。

PHPでURLリクエスト時にレスポンスのヘッダ情報を取得する方法

URL をリクエストしたときに php が応答するヘッダー情報を取得する方法:

1. を使用します。 file_get_contents または fopenfilereadfile およびその他の関数が URL を読み取ると、$http_response_header という名前の変数が作成されますhttp レスポンスのヘッダーを保存します。

サンプル コード 1:

<?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 を使用して取得できます。

サンプルコード 2:

   <?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()リクエスト URL の応答メッセージを取得することもできます。

サンプル コード 3:

<?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 
) 
?>

関連学習の推奨事項: php グラフィック チュートリアル

以上がPHPでURLリクエスト時にレスポンスのヘッダ情報を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。