我尝试使用以下代码获取已登录页面的内容。我尝试了不同的URL,但对于这个,我不知道为什么它会返回空白结果。我检查了错误日志,没有显示任何内容,我的卷曲已启用。
solved
答案 0 :(得分:0)
您的卷曲设置中存在一些错误配置,首先:
$login = array(
'username' => $username,
'password' => $pass,
'login' => 'login'
);
这应该只包含您要发布的字段,因此'login' => 'login'
无关紧要。
字段名称必须与表单字段名称匹配,否则它们对服务器没有意义。您可以通过Firebug检查他们的名字或检查元素。
第二
$loginUrl = 'https://affiliate.styles.my/index.php/login/page/login';
由于您要发布form
,因此您应该发布到action
属性中设置的网址,您可以通过在FireFox中触发inspect元素找到这个,并检查form
标记,然后查看网址action
属性指向的内容。
试试这个:
<?php
$username = 'eldy';
$pass = '1234';
$login = array(
'user' => $username,
'password' => $pass
);
$loginUrl = 'https://affiliate.styles.my/index.php/login/dologin';
echo http_build_query($login);
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($login));
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, "https://affiliate.styles.my/index.php/dashboard/page/dashboard");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
$content2 = curl_exec($ch);
echo $content2;
curl_close($ch);
?>
答案 1 :(得分:0)
首先,您的登录帖子网址不正确。实际的表单帖子是
$loginUrl = 'https://affiliate.styles.my/index.php/login/dologin';
除了表单帖子字段设置不正确外,密码字段应该通过&#39;不是密码&#39;
$login = array(
'username' => $username,
'pass' => $pass,
'login' => 'login'
);
所以正确的方法是这样做 首先加载登录页面 发送帖子数据 然后获取仪表板页面 这是正确的代码
<?php
$username = 'eldy';
$pass = '1234';
$login = array(
'username' => $username,
'pass' => $pass,
'login' => 'login'
);
$loginUrl = 'https://affiliate.styles.my/index.php/login/dologin';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://affiliate.styles.my/index.php/login");
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_exec($ch);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $login);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
//curl_setopt($ch, CURLOPT_VERBOSE, 1);
var_dump($ch);
$content = curl_exec($ch);
//echo $content;
curl_setopt($ch, CURLOPT_URL, "https://affiliate.styles.my/index.php/dashboard/page/dashboard");
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_VERBOSE, 1);
$content2 = curl_exec($ch);
echo $content2;
curl_close($ch);