• 締切済み

Yahoo!のログイン後のページのソースをPHPで取りたい

http://www.spencernetwork.org/memo/tips-3.php の方法で、Yahoo!(日本)のソースを取ろうとしましたが、ログイン後のページ(たとえば、自分の出品しているオークションのリストのページ)のソースが取れません。どうやら、ログイン情報を与える必要がありそうなのですが、BASIC認証ではないようで、別な方法が必要なようです。 解決方法をご存知の方は教えてください。

みんなの回答

回答No.1

ログイン情報はクッキーに入っていますので、クッキーを設定してアクセスする必要があります。また、リダイレクトも使っている可能性があるので、リダイレクトも有効にする必要があります。 クッキーに関してはブラウザのクッキーファイルを参考にすれば、ブラウザでアクセスしたままの物が取得可能です。.yahoo.co.jpのクッキーをちょっと覗いてみましたが、思ったよりたくさんあります(笑。 指定URLの方法の他、例えばPEARのHTTP_Request等でCookieを追加したり、CURL関数で設定する事も出来ます。 やりやすい方法を探してみて下さい。 http://pear.php.net/manual/ja/package.http.http-request.php http://jp2.php.net/manual/ja/function.curl-setopt.php

qryoec
質問者

補足

http://pear.php.net/manual/ja/package.http.http-request.php を参考に、PEARのHTTP/Requestを使って以下のようなプログラムを走らせましたが全く値が帰ってきません(エラーにもなりません)。もし問題点が分かるようでしたら教えていただけませんか。 クッキーはクッキーファイルよりクッキー名とクッキーの内容のみコピーして設定しました。 <?php require_once "HTTP/Request.php"; $req =& new HTTP_Request("http://user.auctions.yahoo.co.jp/jp/show/mystatus"); $req->addCookie("AUCL", "3LvjjW0g中略l5sCgzmIO23k0-"); $request = $req->sendRequest(); if (!PEAR::isError($request)) { echo $req->getResponseBody(); } ?>

関連するQ&A