繁体   English   中英

PHP CURL自动登录

[英]Php CURL automatic Login

这是我在这个论坛上的第一个问题,但在找到答案之前对我有帮助。 因此,我尝试使用PHP和CURL自动登录到我的帐户。

我是PHP的新手,但是直到现在,只要我需要连接到网页,发表帖子或进行重定向,或进行重定向,一切都可以进行。

问题是我尝试登录的帐户具有一个用户/密码页面,后跟一个难忘的单词页面,在该页面中,我必须从难忘的单词中输入一些字符。

现在,我设法通过第一页,然后进入第二页,我必须在该页中输入令人难忘的文字字符,但是当我尝试这样做时(因此第二篇文章)不起作用-我再次重定向到登录名。

现在,我尝试进行调查以查看问题所在,但仍然不确定为什么无法正常工作。 我观察到服务器以正常登录方式传递了JSESSIONID,这是相同的,而当我运行脚本时,JSESSIONID发生了变化。 我在用:

curl_setopt($this->curl, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($this->curl, CURLOPT_COOKIEJAR, 'cookie.txt');

但是,当我检查文件时,它是空的,并且自创建以来就没有被修改过。 是可以写入文件(具有777权限)。

我不知道这是问题还是其他原因,但是我寻找答案,尝试了不同的方法,但没有任何效果。 因此,任何想法将不胜感激。

谢谢

这是我可以确认工作的示例。 它向您显示cookieJar文件的完整路径,并从脚本的执行位置获取完整路径,因此它应可在大多数OS上使用。

<?PHP
$cookiepath = __DIR__.DIRECTORY_SEPARATOR.'cookieJar.txt';
echo "Saving cookies to: $cookiepath\n";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.google.com");
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0');
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiepath);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiepath);
curl_setopt($ch, CURLOPT_HEADER  ,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER  ,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION  ,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$data = curl_exec($ch);
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM