前回に引き続き、HTTP APIの検証を行います。
3回目の関数はwp_remote_retrieve_headeresです。
前回同様、wp_remote_getした後に、この関数の戻り値をvar_dumpしてみます。
実際に下記のように書きました(ドメイン部分のみダミー値です)
//HTTP APIのテスト $url = "http://hogehoge.fuga/"; $response = wp_remote_get($url, $args); $return_value3 = wp_remote_retrieve_headers($response); var_dump($return_value3);
var_dumpした結果、次のようになります。
object(Requests_Utility_CaseInsensitiveDictionary)[6275] protected 'data' => array (size=9) 'date' => string 'Sun, 04 Mar 2018 09:23:35 GMT' (length=29) 'server' => string 'Apache' (length=6) 'expires' => string 'Thu, 19 Nov 1981 08:52:00 GMT' (length=29) 'cache-control' => string 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0' (length=62) 'pragma' => string 'no-cache' (length=8) 'set-cookie' => string 'PHPSESSID=547f926e3c6f4ec48bbc4966fb60a386; path=/' (length=50) 'vary' => string 'Accept-Encoding,User-Agent' (length=26) 'content-encoding' => string 'gzip' (length=4) 'content-type' => string 'text/html; charset=UTF-8' (length=24)
結果表示をブラウザで確認したので、上記の値が全てではないかもしれませんが、取得項目はおおよそ把握できます。
詳しい出力結果はログに出力する等の工夫が必要です。
wp_remote_retrieve_headerでは、取得する項目を第二引数で指定する代わりに、wp_remote_retrieve_headersではヘッダー情報の全体を一気に取得してくる。という点が大きく異なります。
それぞれで使用する場面によって適切な使い方をする必要がありそうです。