我正在尝试CURL此网址,以便自动将产品添加到购物篮
http://www.juno.co.uk/cart/add/440551/01/
当我在浏览器中关注网址时,它会将产品添加到购物篮
当我CURL它时它不会添加它
这是我的CURL代码
$url = "http://www.juno.co.uk/cart/add/440551/01/";
$c = curl_init();
curl_setopt($c, CURLOPT_URL,"$url");
$file_path = 'cookies.txt';
curl_setopt($c,CURLOPT_POST,true);
curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 50);
curl_setopt($c,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
curl_setopt($c, CURLOPT_RETURNTRANSFER,1);
curl_setopt($c, CURLOPT_COOKIEJAR, $file_path);
$complete = curl_exec($c);
curl_close($c);
有什么想法吗? CURL肯定是在我的服务器上设置的,因为我成功地将它用于其他脚本。
你可以看到这里的输出http://soundshelter.net/addjuno.php?id=440551 - 它正在重定向到我期望它的页面(即将项目添加到购物篮)但我不想将用户重定向到这个页面 - 只有ping页面,以便将项目添加到购物篮,但用户仍保留在我的页面上。有什么想法吗?
提前致谢
答案 0 :(得分:2)
购物车(或其中的某些内容(内容,内容等)存储在会话中,您必须创建一个自定义函数,您可以在其中传递购物车的ID,而您可以更新它。
修改强>
如果可以,那么这将是一个安全风险(向任何购物车添加商品?)
用户是通过会话ID识别的,您需要从访问者“窃取”它并通过curl调用网址,就像您是用户一样(您可以为我认为的卷曲会话创建cookie并设置会话ID),但是当然,这是一个非常类似的事情,比如窃取cookie /会话数据,并且有针对它的防御技术
我认为只有一个可能的解决方案是,如果juno.co.uk有这样的操作的公共API
答案 1 :(得分:0)
答案可能很简单,因为您不需要POST,这可能会导致问题,因为您没有发送/指定任何数据。我的意思是评论这一行:
//curl_setopt($c,CURLOPT_POST,true);
侧栏:您能否显示您获得的输出?