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 的请求)使用这两个选项。

你可以在这里看到一种方法。

于 2009-12-31T00:39:13.440 回答