这是我的问题:
我试图获取首先需要登录的网站的内容。我想通过cURL来解决这个问题。
首先我连接到登录页面,而不是需要登录的页面。
我在我的cookie文件中得到了一些Cookie,但是当我尝试查看之前需要登录的页面内容时,我才会被重定向到(获取内容)登录页面。
似乎解析我的登录cookie或任何失败,所以网站不记得我登录。
到目前为止,Heres是我的php代码:
<?php
$loginUrl = 'https://www.****./login.html';
$loginFields = array('j_username'=>'***', 'j_password'=>'**'); //login form field names and values
$remotePageUrl = 'https://www.***/myPage/index.html'; //url of the page I want the content
$login = getUrl($loginUrl, 'post', $loginFields); //login to the site
echo $remotePage = getUrl($remotePageUrl); //get the remote page
function getUrl($url, $method='', $vars='') {
$ch = curl_init();
if ($method == 'post') {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
}
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'C:\\xampp\htdocs\***\cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'C:\\xampp\htdocs\****\cookies.txt');
$buffer = curl_exec($ch);
if (curl_error($ch)) echo curl_error($ch);
curl_close($ch);
return $buffer;
}
?>
有什么想法吗?现在在网上搜索了几个小时,但还没有找到解决方案 谢谢!
答案 0 :(得分:0)
我没有找到任何解决方案。尽管如此,我还是手动完成了所有的工作,不再需要程序了,无论如何感谢评论:)