0

これは私のコードです:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://www.membersite.com/login.php");
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'username=deleted&password=deleted');
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'C:\xampp\htdocs\scrape\cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$store = curl_exec ($ch);

curl_setopt($ch, CURLOPT_URL, "http://www.membersite.com/memberlist.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$page = curl_exec ($ch);

echo $page;

curl_close($ch);

しかし、サイト (ちなみに私のサイト) にはサインインのログが表示されないため、正常にログインしているとは思いません。URL と同様に、ユーザー名とパスワードが正しいことはわかっています。正常なデータのように見える cookie.txt ファイルが返されますが、よくわかりません。

次のように、いくつかの基本的なデバッグを試みると:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://www.membersite.com/login.php");
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'username=deleted&password=deleted');
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'C:\xampp\htdocs\scrape\cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

if(!$store = curl_exec($ch))
{
    echo "login fail";
}

curl_setopt($ch, CURLOPT_URL, "http://www.membersite.com/memberlist.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

if(!$page = curl_exec($ch))
{
    echo "page fail";
}

echo $page;

curl_close($ch);

「ページ失敗」がページに出力されるので、ログインが機能していないと思います。

何か助けはありますか?ありがとう。

4

2 に答える 2

0

気にしないで、phpBB cURL ライブラリをダウンロードして並べ替えました。

于 2009-12-30T23:51:58.760 に答える
0

CURLOPT_COOKIEJAR オプションと同じ値の CURLOPT_COOKIEFILE オプションを追加します。

また、後続の各リクエスト (つまり、memberlist.php のリクエスト) でこれら 2 つのオプションを使用する必要があります。

ここでそれを行う方法を見ることができます。

于 2009-12-31T00:39:13.440 に答える