[PHP-users 27081] Re: HTTP_ClientでBasic認証

shima tetuo mlmlml @ lily.freemail.ne.jp
2005年 10月 5日 (水) 08:47:59 JST


tetuoです。
On Wed, 5 Oct 2005 01:31:27 +0900
KOYAMA Tetsuji <koyama @ hoge.org> wrote:

> $reqParams = array(
>     'user' => 'auth_uer_name',
>     'pass' => 'auth_user_passwd',
> );
> 
> $client =& new HTTP_Client($reqParams);
> 
> で、Basic認証してくれませんか?

小川さんのメールで、よくよくHTTP_Client確認してみたら、継承しなくても
Basic認証出来ますね。すみません。

////////////////////////////////////////////
require_once('HTTP/Client.php');

$basic = array(
'Authorization' => 'Basic ' . base64_encode('user_name' . ':' . 'password_string')
);

$client = new HTTP_Client(null, $basic);
$client->get('http://XXXXXXXXXXXXXXX/');

$response = $client->currentResponse();
var_dump($response);
////////////////////////////////////////////


HTTP_Requestより
    function setBasicAuth($user, $pass)
    {
        $this->_user = $user;
        $this->_pass = $pass;

        $this->addHeader('Authorization', 'Basic ' . base64_encode($user . ':' . $pass));
    }

このようにHTTP_Requestでは、ヘッダーを追加しているので、HTTP_Clientが
HTTP_RequestのaddHeaderを呼んでいる元データを追跡すると、コンストラクタ
の第二引数の配列かと思いますので、Basic認証するような配列を渡しています。

うちのルーターに繋いでみましたが、うまくいったようです。(200)

小川さん、こういう事だったでしょうか?

tetuo
mlmlml @ lily.freemail.ne.jp
http://mlmlml.seesaa.net/




PHP-users メーリングリストの案内