curlopt_cookie问题

chenzhidenghao 2013-05-23 02:58:35
我使用curlopt_cookie 发现前一个COOKIE会覆盖后一个COOKIE。。而且写法上也出现了问题,打印的结果不是想要的,不正确的


$PostData = array(
'zipCode' => '12345',
'langId' => '-1',
'storeId' => '10001',
'URL' => '/Brother-TN-580-Toner-Cartridge-High-Yield/product_612784',
'errorUrl' => 'zipcode'
);
$ua = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)';
$url = 'http://www.staples.com/Brother-TN-580-Toner-Cartridge-High-Yield/product_612784';
$host = $_SERVER['DOCUMENT_ROOT'];

if ( $curl = curl_init() )
{
curl_setopt($curl, CURLOPT_URL, 'http://www.chenzhi.com/2.php');
curl_setopt($curl, CURLOPT_COOKIE, 'CoreID6=30201255514912193294815;Path=/;Domain=www.chenzhi.com;expires=Mon, 13-Oct-24 13:08:16 GMT');
curl_setopt($curl, CURLOPT_COOKIE, 'TestSess3=x;Path=/;Domain=www.chenzhi.com;expires=End Of Session');
curl_setopt($curl, CURLOPT_COOKIE, '90028341_login=1255528626018461671490028341;Path=/;Domain=www.chenzhi.com;expires=End Of Session');
curl_setopt($curl, CURLOPT_COOKIE, '90028341_reset=1255528626;Path=/;Domain=www.chenzhi.com;expires=End Of Session');

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, false);

curl_exec($curl);
curl_close($curl);
} else {
die('1 fails:' . curl_error($curl));
}

unset($curl);



打印的结果
Array
(
[90028341_reset] => 1255528626
[Path] => /
[Domain] => www.chenzhi.com
[expires] => End Of Session
)




而正常的setcookie显示的结果确是
<?php
setcookie("TestCookie1", '1', time()+3600, "/", 'www.chenzhi.com');
setcookie("TestCookie2", '2', time()+3600, "/", 'www.chenzhi.com');
setcookie("TestCookie3", '3', time()+3600, "/", 'www.chenzhi.com');
setcookie("TestCookie4", '4', time()+3600, "/", 'www.chenzhi.com');
echo '<pre>';
print_r($_COOKIE);
echo '</pre>';


Array
(
[TestCookie1] => 1
[TestCookie2] => 2
[TestCookie3] => 3
[TestCookie4] => 4
)




请问大神们如何把多个COOKIE的值用CURLOPT_COOKIE写出来??求解
...全文
713 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzhidenghao 2013-05-23
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
多个 COOKIE 变量用分号分开即可 一般网站不大可能始终都是静态的 cookie,一般应用 CURLOPT_COOKIEJAR 动态获取到文件,并用 CURLOPT_COOKIEFILE 发送
我前面写的就是用分号隔开的
curl_setopt($curl, CURLOPT_COOKIE, 'CoreID6=30201255514912193294815;Path=/;Domain=www.chenzhi.com;expires=Mon, 13-Oct-24 13:08:16 GMT');
   curl_setopt($curl, CURLOPT_COOKIE, 'TestSess3=x;Path=/;Domain=www.chenzhi.com;expires=End Of Session');
   curl_setopt($curl, CURLOPT_COOKIE, '90028341_login=1255528626018461671490028341;Path=/;Domain=www.chenzhi.com;expires=End Of Session'); 
   curl_setopt($curl, CURLOPT_COOKIE, '90028341_reset=1255528626;Path=/;Domain=www.chenzhi.com;expires=End Of Session');
   
照这么说只用写一个就好了,用;隔开,那path ,domain,expires这些怎么写进去 还有版主能详细说下CURLOPT_COOKIEJAR CURLOPT_COOKIEFILE 的用法么,动态获取不是很懂,给点资料看看也行
xuzuning 2013-05-23
  • 打赏
  • 举报
回复
多个 COOKIE 变量用分号分开即可 一般网站不大可能始终都是静态的 cookie,一般应用 CURLOPT_COOKIEJAR 动态获取到文件,并用 CURLOPT_COOKIEFILE 发送

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧