[PHP-users 27099] Re: HTTP_ClientでBasic認証
KOYAMA Tetsuji
koyama @ hoge.org
2005年 10月 5日 (水) 15:07:40 JST
小川ではなく小山です。:-)
On 10/5/05, shima tetuo <mlmlml @ lily.freemail.ne.jp> wrote:
> このようにHTTP_Requestでは、ヘッダーを追加しているので、HTTP_Clientが
> HTTP_RequestのaddHeaderを呼んでいる元データを追跡すると、コンストラクタ
> の第二引数の配列かと思いますので、Basic認証するような配列を渡しています。
>
> うちのルーターに繋いでみましたが、うまくいったようです。(200)
>
> 小川さん、こういう事だったでしょうか?
私が書いたのはそういうことではなくて、HTTP_Client コンストラクタの第一
引数 $defaultRequestParams は、HTTP_Client が内部的に HTTP_Request
オブジェクトを作る際に $params として渡されます。
HTTP_Request のコンストラクタでは、$params に渡された連想配列は
$this->_変数名 としてオブジェクトのプロパティとして設定され、
Basic認証に関係するプロパティが存在した場合は HTTP_Request
コンストラクタ内の、
> // Basic authentication
> if (!empty($this->_user)) {
> $this->_requestHeaders['Authorization'] = 'Basic ' .
base64_encode($this->_user . ':' . $this->_pass);
> }
の部分で、setBasicAuth メソッドと同様の処理が行われます。
なので、
> $basic = array(
> 'Authorization' => 'Basic ' . base64_encode('user_name' . ':' . 'password_string')
> );
>
> $client = new HTTP_Client(null, $basic);
のように、わわざ HTTP Header の形にして登録してあげる必要はありません。
(もちろん HTTP Header で登録してもかまいません。)
--
小山哲志@ビート・クラフト
koyama @ beatcraft.com
koyama @ hoge.org
PHP-users メーリングリストの案内