HTTP_RequestでProxy Serverを指定する[Pear::HTTP_Request]

PearHTTP_RequestProxy Serverを指定するには、コンストラクタの第二引数に連想配列で指定するか setProxy関数で指定します。

インスタンス化時に指定するには、次の値をキーとして各設定を指定します。

  • proxy_host (string)
  • proxy_port (integer)
  • proxy_user (string)
  • proxy_pass (string)
<?php
require_once "HTTP/Request.php";

$proxy = ('proxy_host'=>'xxx.xxx.xxx.xxx','proxy_port'=>8080);

$objHttp = new HTTP_Request("http://www.yahoo.co.jp/",$proxy);
if (!PEAR::isError($objHttp->sendRequest())) {
    $code = $objHttp->getResponseCode();
    $header = $objHttp->getResponseHeader();
    $body = $objHttp->getResponseBody();
}
?>

Proxy Serverを切り替えたいといった時には、setProxy関数を指定します。

setProxy関数は、host、port、user、passwordを渡します。デフォルトでportは8080 userとpasswordはNULLになります。

<?php
require_once "HTTP/Request.php";

$objHttp = new HTTP_Request("http://www.yahoo.co.jp/");

$objHttp->setProxy('xxx.xxx.xxx.xxx',8080);

if (!PEAR::isError($objHttp->sendRequest())) {
    $code = $objHttp->getResponseCode();
    $header = $objHttp->getResponseHeader();
    $body = $objHttp->getResponseBody();
}
?>