在php中传递curl的cookie信息

时间:2011-04-08 00:50:34

标签: php cookies curl

您好,感谢您帮助我完成我的项目。所以我已经成功创建了一个脚本来登录我的聊天,但是当我尝试执行curl的第二部分时,它说我需要登录才能发布消息。第一个卷曲由它自己工作并登录。那么我如何使用第一个卷曲保持登录然后移动到第二个部分发布消息?

/* =================================================================== 
login set cookie
====================================================================== */
$clogin = curl_init();
curl_setopt ($clogin, CURLOPT_URL, $Login_URL);
curl_setopt ($clogin, CURLOPT_REFERER, $Referer);
curl_setopt ($clogin, CURLOPT_USERAGENT, $Agent);
curl_setopt ($clogin, CURLOPT_COOKIEJAR, $Cookie_Location);
curl_setopt ($clogin, CURLOPT_COOKIEFILE, $Cookie_File); 
curl_setopt ($clogin, CURLOPT_POST, 1);
curl_setopt ($clogin, CURLOPT_POSTFIELDS, $Login_Data);
curl_setopt ($clogin, CURLOPT_RETURNTRANSFER, 1);
curl_exec   ($clogin);

/* =================================================================== 
post message
====================================================================== */

$cpost = curl_init();
curl_setopt ($cpost, CURLOPT_URL, $Posting_URL);
curl_setopt ($cpost, CURLOPT_REFERER, $Login_URL);
curl_setopt ($cpost, CURLOPT_USERAGENT, $Agent);
curl_setopt ($cpost, CURLOPT_COOKIEJAR, $Cookie_Location);
curl_setopt ($cpost, CURLOPT_COOKIEFILE, $Cookie_File); 
curl_setopt ($cpost, CURLOPT_POST, 1);
curl_setopt ($cpost, CURLOPT_POSTFIELDS, $Posting_Data);
curl_setopt ($cpost, CURLOPT_RETURNTRANSFER, 1);
curl_exec   ($cpost);
curl_close($cpost);

2 个答案:

答案 0 :(得分:0)

如果你自己的聊天应用程序无法创建某种类型的令牌并且每次都将其作为get参数传递并验证自己,而不是通过cookie进行验证?

答案 1 :(得分:0)

看来你在第一个请求中设置了CURLOPT_COOKIEJAR(写入),但是没有在第二个请求中读取同一个文件CURLOPT_COOKIEFILE(读取)