人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで楽天にログインをし、現在の自分の楽天ポイントを表示するプログラムを作っていますが、うまくいきません。

【やりたい事】
楽天にログイン

楽天のTOP or ポイントが確認できるページへ移動

正規表現を用いて、楽天ポイントの部分を取得

ポイントを表示

【情報】
ログイン画面

https://grp02.id.rakuten.co.jp/rms/nid/vc?__event=login&service_id=p11
のソースから、
ユーザーID「u=」
パスワード「p=」

他に何か必要な情報か?などやり方がわからず行き詰まっています。

【PHP】【mixi】

http://q.hatena.ne.jp/1248220478
を参考にし試しましたが、
楽天のTOPページがログインされていない状態で表示されるだけで駄目でした。

file_get_contentsでも構いませんし、PHPでできる方法などをお教え頂ければ幸いです。
宜しくお願い致します。

(調べたサイトのURLを記載しようと思いましたが文字制限にひっかかったので一部割愛して書かせて頂きました)

●質問者: cabomania
●カテゴリ:インターネット ウェブ制作
✍キーワード:mixi PHP TOP URL サイト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ホーエンハイム
●50ポイント

私も楽天にマイページを持っていますが、ログイン後にSSL通信に移行してセッション管理しているようですので、PHPでポイントを抜き出すのは不可能に近いと思います。


逆に考えて、そんなに簡単にポイントを確認できるようでは、セキュリティ上のリスクを抱えていることになります。

◎質問者からの返答

お答え有難う御座います。

追記で下のコメント欄に書かせて頂きましたが、

「PHP&Curlの オークションに出品模擬問題」

http://www.phppro.jp/qa/detail.php?id=290

によると、

2006年の12月にはPHPのcURLでログインできている方がいるので、

「curl_setopt」などの設定がきちんとできればログインできるのかと思っていました…。


2 ● gekikawa
●100ポイント ベストアンサー

はじめまして。

具体的なスクリプトではなく方法というか指針程度ですが、ゴリゴリとHTTPヘッダの

中身を読んで、リダイレクト先とかクッキーなどを見つけていけばブラウザと同様の

挙動ができますよ。


ちょっと古いページですが

http://www.atmarkit.co.jp/fsecurity/rensai/securitytips/030liveh...

に紹介されているLiveHTTPHeadersを使えば、ブラウザの送るリクエストヘッダー

とサーバから返されるレスポンスヘッダーが簡単に確認できます。


まずは、通常のブラウザで、ログインからポイントを確認するまで、全てのヘッダー

を記録して、その中でブラウザが送っている情報(リクエストヘッダー)を送るような

スクリプトを組めばOKです。


サーバから送られるクッキーも、正規表現などでパラメータの値を読み取って

その値をfsockopen()などを使ってサーバに返せば良いと思います。


リダイレクトが入ると上記の事を複数回繰り返す(もちろんサーバからの応答に

応じてリクエストを順次送ります。)感じになりますが、(環境依存らしいですが)

PHPでもssl通信できますので十分作成可能ですよ。

http://jp2.php.net/manual/ja/function.fsockopen.php


スマートな方法ではありませんでしたが、まずはどういったヘッダーのやりとりが

されているのかを確認するのが第一でしょう。

◎質問者からの返答

有難う御座います。

教えて頂いたサイトを見て実際にLiveHTTPHeadersをダウンロードしFirefoxで色々と試してみました。

「難しそうだから自分には無理だな…」と思いましたが、学ぶことがありました。

結論から申し上げると、

doumotoさんが以前にはてなでご質問をされていた、

「PHPスクリプトの質問です。」

http://q.hatena.ne.jp/1242080378

に関する、

「PEAR::HTTP_Clientでサイトの内容取得」

http://itpro.nikkeibp.co.jp/article/COLUMN/20070507/270079/

を改めて見直し、試したら成功致しました。

($login_params と $login_url の見直しにて)

あまりにあっけなくできて逆に驚きました。

「PEAR::HTTP_Client」は凄いです…(^^;

皆様、有難う御座いました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ