这是我的代码:
$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);
我在页面上打印了“页面失败”,所以我猜登录不起作用。
有任何帮助吗?感谢。
答案 0 :(得分:0)
没关系,下载了一个phpBB cURL库并对其进行了排序。
答案 1 :(得分:0)
添加CURLOPT_COOKIEFILE选项,其值与CURLOPT_COOKIEJAR选项相同。
您还需要为每个后续请求使用这两个选项(即您对memberlist.php的请求)。
你可以看到一种方法here。