PHPのCookieについて質問です。


現在フォームページにアクセスして、サーバーに情報を送信するという作業を行いたいと考えています。

具体的にはオークションのページ(ヤフオク)に自動的にログインしたいと考えております。

ログインしたいページは

https://login.yahoo.co.jp/config/login?.src=auc&.intl=jp&.pd=&.partner=&.protoctl=&.done=http%3A//auctions.yahoo.co.jp/jp

のページで、

このページにIDとPWを入力してログインしたいと考えています。

自分で調べたり、過去にアドバイスを頂いたところ

①ページにアクセスしてCookieを取得。

②Cookieを用いて、クエリを送信する。

③set-cookieでログイン済みをあらわすためのCookieを指定

といった手順を踏めば実行出来るのではないかと考えています。

しかし、ヤフオクで具体的にPHPで実行すると考えた場合まったくコードが想像ができません。。

Pearでやっているのをページでちょっと見たことがあるのですが、PHPで上記を実現することは出来ないでしょうか?

お手数をおかけしますがご回答お待ちしております。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/10/15 02:35:14
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:HALSPECIAL No.1

回答回数407ベストアンサー獲得回数86

ポイント100pt

はずしていたらすみません。

こちらでいかがでしょうか?

1、ページにアクセス

$url='ログインページ';


2、ページのCookieを取得する。(Cookieを取得する命令がある)

クッキーを取得する関数($url);


3、送るデータをセット

変数にIDとPWを入れて $id=''; $pw='';

# IDとPWだけでは不足です。

# ログインのページのソースを見てください。(ブラウザで見てもいいです)

# formタグがありますね。

# こちらのタグの中のinputタグに注目します。

# たくさんのinputタグがありますよね。hidden属性、text、password、checkboxの属性のものなど。

# これらはログイン時に送信する項目です。

# 1で取得したソースの中から項目と値を引っこ抜き、IDとPWといっしょに送信しましょう。

# 必要のないものもあるかもしれませんが、全部送るようにすれば間違いないです。

# 特に(.challenge)はチャレンジコード?と思われるので毎回変わる項目だと思います。

# また、Refererは不要かなとおもうのですが、User-Agentくらいはセットしておきましょう。


4、クエリを送信する。(クエリを送信する命令がある)

クエリを送信する命令で送信します。

送信する関数($id , $pw);

# 取得したCookieは、そのまま送信しましょう。


※以上で、HTTP200でレスポンスが来ると思います。

id:aiomock

ご回答ありがとうございます。

2009/10/13 18:59:22
  • id:aiomock
    作業は以下の手順で出来ると思っているのですが、関数等がまったくわからないです。。

    1、ページにアクセス

    $url='ログインページ';


    2、ページのCookieを取得する。(Cookieを取得する命令がある)

    クッキーを取得する関数($url);


    3、送るデータをセット

    変数にIDとPWを入れて $id=''; $pw='';


    4、クエリを送信する。(クエリを送信する命令がある)

    クエリを送信する命令で送信します。

    送信する関数($id , $pw);


    5、ログイン済みを記録する命令。

    クッキーを記録する関数($id,$pw);


    2,4,5の関数がわかれば実現出来そうなのですが、いまいちわからないです。

    わかるかたおりましたら教えていただけないでしょうか?

    よろしくお願いいたします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません