HTTP_Clientで国際対応のページを日本語で取得する方法

カテゴリ: php / author: uechoco / 2007年07月31日 12:58:14
この記事を読む時間:215くらい

少し前の記事に、HTTP_Clientでクッキーを使う方法を書きましたが、結果を書いていませんでした。無事、クッキーを再現することができました。

さて、今回もHTTP_Clientですが、もう少し基本的な使い方で躓いたことを書いときます。

最近では国際化に対応したWebサイトも多くなり、ブラウザの言語設定をApache側で認識してページを振り分けたり、スクリプト内部で翻訳処理したりといったことをしてくれます。
そういった国際化対応ページにHTTP_Clientでアクセスした場合、(詳しく調べてはいませんが)デフォルトで英語のブラウザとして認識されて、アメリカーンな結果を返してくれます。われわれは日本人です。日本語で欲しいんです。

そんなときはパラメータやヘッダーを設定してやればいいわけです。HTTP_ClientはHTTP_RequestのラッパーなのでHTTP_Requestで使うパラメータやヘッダーを送ることができます。

PHP:
  1. var $_http_client_default_param = array('timeout' => 10, 'allowRedirects' => true, 'maxRedirects' => 2);
  2. var $_http_client_default_header = array('Accept-Language' => 'ja-JP,ja;q=0.9,en;q=0.8');
  3. $client =& new HTTP_Client($this->_http_client_default_param, $this->_http_client_default_header);

今回大事なのは$_http_client_default_headerで設定したAccept-Languageヘッダーです。これはHTTPヘッダのHTTP_ACCEPT_LANGUAGEに対応します。書式や意味は他のサイトを参照してください。

他にもいろいろなオプションを設定することができますが、今回はここまで。


1件のコメント »

  1. ピンバック by pc.casey.jp » [PHP] さくらインターネット リソース情報自動報告プログラム(PHP 版) — 2011 年 10 月 2 日 @ 12 : 05 : 14

    [...] HTTP_Clientで国際対応のページを日本語で取得する方法 : うえちょこ@ぼろぐ [...]

この投稿へのコメントの RSS フィード。 TrackBack URI

コメントする

Copyright © 2012 うえちょこ@ぼろぐ. WP Theme created by Web Top.