重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

http://www.spencernetwork.org/memo/tips-3.php

の方法で、Yahoo!(日本)のソースを取ろうとしましたが、ログイン後のページ(たとえば、自分の出品しているオークションのリストのページ)のソースが取れません。どうやら、ログイン情報を与える必要がありそうなのですが、BASIC認証ではないようで、別な方法が必要なようです。

解決方法をご存知の方は教えてください。

A 回答 (1件)

ログイン情報はクッキーに入っていますので、クッキーを設定してアクセスする必要があります。

また、リダイレクトも使っている可能性があるので、リダイレクトも有効にする必要があります。

クッキーに関してはブラウザのクッキーファイルを参考にすれば、ブラウザでアクセスしたままの物が取得可能です。.yahoo.co.jpのクッキーをちょっと覗いてみましたが、思ったよりたくさんあります(笑。

指定URLの方法の他、例えばPEARのHTTP_Request等でCookieを追加したり、CURL関数で設定する事も出来ます。
やりやすい方法を探してみて下さい。
http://pear.php.net/manual/ja/package.http.http- …
http://jp2.php.net/manual/ja/function.curl-setop …

この回答への補足

http://pear.php.net/manual/ja/package.http.http- …
を参考に、PEARのHTTP/Requestを使って以下のようなプログラムを走らせましたが全く値が帰ってきません(エラーにもなりません)。もし問題点が分かるようでしたら教えていただけませんか。
クッキーはクッキーファイルよりクッキー名とクッキーの内容のみコピーして設定しました。

<?php
require_once "HTTP/Request.php";
$req =& new HTTP_Request("http://user.auctions.yahoo.co.jp/jp/show/mystatu …
$req->addCookie("AUCL", "3LvjjW0g中略l5sCgzmIO23k0-");
$request = $req->sendRequest();
if (!PEAR::isError($request)) {
echo $req->getResponseBody();
}
?>

補足日時:2007/12/17 14:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!