HTTP_Requestを使ってアクセスしてみた

PEARのHTTP_Requestを使ってアクセスするサンプル

< ?php
require_once 'HTTP/Request.php';   //PEARクラス呼び出し

$url = 'http://xxxxxxx.co.jp/login.asp';
$user = "[あなたのID]";
$pass= "[あなたのpassword]";
$useragent = "[ユーザーエージェント]";

$rq = new HTTP_Request($url);
$rq->setMethod(HTTP_REQUEST_METHOD_POST);
$rq->addPostData('userid', $user);
$rq->addPostData('password', $pass);
$rq->setHttpVer('1.1');
$rq->addHeader('User-Agent', $useragent);
if ( PEAR::isError($rq->sendRequest()) ) {
  $err_msg = 'ログイン認証 sendRequest()でエラー発生したため、処理を中断しました。';
  echo $err_msg;
  exit;
}
if ( $rq->getResponseCode() <> '200' ) {
  $err_msg = 'ログイン認証 リターンコードが200以外だったため、処理を中断しました。';
  echo $err_msg;
  exit;
}
$getHtml = $rq->getResponseBody();
echo $getHtml;


?>

このHTTP_Requestの使い方をマスターすると、いろいろなところで有効活用できそうです。

参考資料
HTTP_Requestでアクセスする セッション編
PHPでのHTTPアクセスを超簡単に行える「PEAR::HTTP_Request」

「HTTP_Requestを使ってアクセスしてみた」への4件のフィードバック

  1. こんにちは
    komarukunです。

    早速ですが、私は今同じようなことを作っています。
    クリック証券のAPI、cakephpの環境で開発を行っています。FXのAPIではないですが、株の売買システムを作っています。やり方がだめなのかわからないですが、ログインと認証が成功した後、値の一覧をアクセスすると以下の結果が返されました。

    NG Out Of Session

    Cookieをヘッダーに入れましたし、認証も取ったが前に進められないです。セッションが使えないのか、phpの設定で確認し、使用可能な設定になっています。
    ちなみに、今ローカルサーバ(テストサーバ)での検証を行っています。
    もし解決方法はご存じであれは教えて頂けますか?

  2. > komarukunさん
    コメントありがとうございます。

    実際にプログラムソースを見ていないのでなんとも判断しかねるところではありますが、ヘッダに入れたCookie情報が怪しそうです。

  3. こんにちはKomarukunです。
    返信ありがとうございます。
    Cookie情報としてはクリック証券に指定した(サンプル)JSESSIONID=AAAAAAAだけです。その他の情報をセットする必要はありますでしょうか?
    宜しくお願い致します。

  4. > komarukunさん
    株の場合は知りませんが、FXの場合ですと、JSESSIONIDの他にFX-LB=XXXXXXXXを渡します。
    よく仕様書を確認してみてはいかがでしょうか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です