[PHP-users 31055] Re: httpsとBasic認証のサイトから取得するには?
ucb.rcdtokyo
ucb.rcdtokyo @ gmail.com
2006年 12月 18日 (月) 13:20:46 JST
HTTP_Request/HTTP_Clientでレスポンスが空なのは、いわゆる「サーバが見つからないかDNSエラー」状態です(「Malformed
response」は、多分BINDあたりのエラーなので、DNSの問題?)。
ちなみに、HTTPSアクセスの場合、OpenSSLが機能してない場合もこの状態になります。適当なHTTPSアドレスへのアクセスが全滅ならこっちかも。
なお、HTTP_ClientはHTTP_Requestのラッパーで、HTTP_Client::currentResponse()は、直近のHTTP_Request::getResponseXXX()を値を返すものです。なので、直近のリクエストについては、$response['body']と$req->getResponseBody()は同じ内容の筈。
内容が異なる場合、HTTP_Requestは、デフォでは302などでのリダイレクトは行わず、HTTP_Clientはデフォでこれを行うので、いずれもデフォで使用していているならこれの差異かと(HTTP_Client::_responsesに、全てのレスポンスが格納されていて、HTTP_Client::currentResponse()は、この最後のハッシュを返します)。
上述の通り、HTTP_Clientは、より「ウェブブラウザライク」な実装(特にCookie周り)を簡易に行うための、HTTP_Requestのラッパーです。そうした機能が必要でなければHTTP_Requestで充分だとは思いますが。
--
(It's always) Under Construction, Baby
http://www.rcdtokyo.com/ucb/
PHP-users メーリングリストの案内