私は zend フレームワークで cURL を使用しています。これにより、ヘッダーとサイト コンテンツが返されます。
この出力を別のクラスで使用し、curl 出力からヘッダーを抽出して、言語が ser (コンテンツ言語) であるかどうかを確認します。
出力には、応答やヘッダーなどのクラスが保護されています。クラスヘッダーと応答を設定して、これでヘッダー値を取得しようとしましたが、結果が得られません。
(curl 出力 => $this->content)
class Zend\Http\Response#258 (7) { protected $recommendedReasonPhrases => array(57) { [100] => string(8) "Continue"
[101] => string(19) "Switching Protocols" [102] => string(10) "Processing" [200] => string(2) "OK" [201] => string(7) "Created" [ 202] => string(8) "Accepted" [203] => string(29) "非正式な情報" [204] => string(10) "No Content" [205] => string(13) "Reset Content" [206] => string(15) "Partial Content" [207] => string(12) "Multi-status" [208] => string(16) "Already Reported" [300] => string(16 ) "複数の選択肢" [301] => string(17) "永久に移動" [302] => string(5) "見つかった" [303] => string(9) "その他を見る" [304] => string( 12) "変更されていません" [305] => string(9) "プロキシを使用" [306] => string(12) "Switch Proxy" [307] => string(18) "Temporary Redirect" [400] => string(11) "Bad Request" [401] => string(12) "Unauthorized" [402] => string(16) "Payment Required" [403] => string(9) "Forbidden" [404] => string(9) "Not Found" [405] => string(18) "Method Not Allowed" [406] => string( 14) "受け入れられません" [407] => string(29) "プロキシ認証が必要です" [408] => string(16) "リクエストのタイムアウト" [409] => string(8) "競合" [410] => string(4) "Gone" [411] => string(15) "Length Required" [412] => string(19) "Precondition Failed" [413] => string(24) "Request Entity Too Large" [414] => string(21) 「リクエスト URI が大きすぎます」[415] => string(22) "サポートされていないメディア タイプ" [416] => string(31) "要求された範囲が満たされない" [417] => string(18) "期待に失敗しました" [418] => string(12 ) "I'm a teapot" [422] => string(20) "Unprocessable Entity" [423] => string(6) "Locked" [424] => string(17) "Failed Dependency" [425] = > string(20) "Unordered Collection" [426] => string(16) "Upgrade Required" [428] => string(21) "Precondition Required" [429] => string(17) "Too Many Requests" [ 431] => string(31) "リクエスト ヘッダー フィールドが大きすぎます" [500] => string(21) "内部サーバー エラー" [501] => string(15) "実装されていません" [502] => string(11 )「悪いゲートウェイ」[503] =>string(19) "Service Unavailable" [504] => string(16) "Gateway Time-out" [505] => string(26) "HTTP バージョンはサポートされていません" [506] => string(23) "Variant Also Negotiates" [507] => string(20) "不十分なストレージ" [508] => string(13) "ループが検出されました" [511] => string(31) "ネットワーク認証が必要です" } protected $statusCode => int( 200) protected $reasonPhrase => string(2) "OK" protected $version => string(3) "1.1" protected $headers => class Zend\Http\Headers#257 (3) { protected $pluginClassLoader => NULL protected $headersKeys => array(15) { [0] => string(4) "date" [1] => string(6) "server" [2] => string(10) "xpoweredby" [3] =>文字列(12) "xdrupalcache"[4] => string(7) "expires" [5] => string(12) "lastmodified" [6] => string(12) "cachecontrol" [7] => string(4) "etag" [8] ] => string(15) "contentlanguage" [9] => string(10) "xgenerator" [10] => string(4) "vary" [11] => string(15) "contentencoding" [12] = > string(13) "contentlength" [13] => string(10) "connection" [14] => string(11) "contenttype" } protected $headers => array(15) { [0] => array( 2) { 'name' => string(4) "Date" 'line' => string(35) "Date: Tue, 26 Feb 2013 09:57:42 GMT" } [1] => array(2) { 'name' => string(6) "Server" 'line' => string(30) "Server: Apache/2.2.14 (Ubuntu)" } [2] =>array(2) { 'name' => string(12) "X-Powered-By" 'line' => string(35) "X-Powered-By: PHP/5.3.2-1ubuntu4.18" } [3 ] => array(2) { 'name' => string(14) "X-Drupal-Cache" 'line' => string(20) "X-Drupal-Cache: MISS" } [4] => array( 2) { 'name' => string(7) "Expires" 'line' => string(38) "Expires: Sun, 19 Nov 1978 05:00:00 GMT" } [5] => array(2) { 'name' => string(13) "Last-Modified" 'line' => string(46) "Last-Modified: Tue, 26 Feb 2013 09:57:42 +0000" } [6] => array(2 ) { 'name' => string(13) "Cache-Control" 'line' => string(32) "Cache-Control: public, max-age=0" } [7] => array(2) { '名前' =>string(4) "ETag" 'line' => string(20) "ETag: "1361872662-1"" } [8] => array(2) { 'name' => string(16) "Content-Language" 'line' => string(20) "Content-Language: ru" } [9] => array(2) { 'name' => string(11) "X-Generator" 'line' => string(41) 「X-Generator: Drupal 7 (http://drupal.org )" } [10] => array(2) { 'name' => string(4) "Vary" 'line' => string(28) "Vary: Cookie,Accept-Encoding" } [11] => array(2) { 'name' => string(16) "Content-Encoding" 'line' => string(22) "Content-Encoding: gzip" } [12] => array(2 ) { 'name' => string(14) "Content-Length" 'line' => string(20) "Content-Length: 7139" } [13] => array(2) { 'name' => string( 10) "Connection" 'line' => string(17) "Connection: close" } [14] => array(2) { 'name' => string(12) "Content-Type" 'line' => string (38) 「コンテントタイプ: text/html; charset=utf-8" } } } 保護された $metadata =>
(コード)
$response = new Response();
$response->getHeaders($this->content);
$headers = new Headers();
var_dump($headers->get('Content-Language'));
(生成)
bool(false)
($response->getHeaders の var_dump)
class Zend\Http\Headers#259 (3) { protected $pluginClassLoader => NULL protected $headersKeys => array(0) { } protected $headers => array(0) { } }
前もって感謝します、
ニック