[英]curl and cookies php
我是法国人,需要一些帮助。 因此,我想使用cURL库制作一个php脚本,该脚本的目标是在网站商店的购物篮中添加一篇文章,但是在我添加该文章的那一刻到我付钱的那一刻之间,该脚本未能通过该会话。 我已尝试保存cookie,但这不起作用! 我不明白! 如果您对我如何使其有效的方法有任何想法,可以请回答我
<?php
function login($url,$data){
$fp = fopen("cookie.txt", "w");
fclose($fp);
$login = curl_init();
curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
//curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($login, CURLOPT_TIMEOUT, 40000);
curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($login, CURLOPT_URL, $url);
curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($login, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($login, CURLOPT_POSTFIELDS, $data);
ob_start();
return curl_exec ($login);
ob_end_clean();
curl_close ($login);
unset($login);
}
function grab_page($site){
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
curl_setopt( $ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_URL, $site);
ob_start();
return curl_exec ($ch);
ob_end_clean();
curl_close ($ch);
}
login('link','data to add in basket');
echo grab_page(the basket);
?>
您正在混合卷曲处理程序,
在您的登录功能中,您正在使用$ch
处理程序
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
// ^^^
这必须是$login
curl_setopt($login, CURLOPT_SSL_VERIFYPEER, FALSE);
同样,在您的grab_page
函数中,您使用的是$login
curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
// ^^^^^^
必须是:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.