curlopt_cookie问题
程序员文章站
2024-02-07 15:53:16
...
我使用curlopt_cookie 发现前一个COOKIE会覆盖后一个COOKIE。。而且写法上也出现了问题,打印的结果不是想要的,不正确的
打印的结果
而正常的setcookie显示的结果确是
请问大神们如何把多个COOKIE的值用CURLOPT_COOKIE写出来??求解
还有版主能详细说下CURLOPT_COOKIEJAR CURLOPT_COOKIEFILE 的用法么,动态获取不是很懂,给点资料看看也行
$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显示的结果确是
';print_r($_COOKIE);echo '';
Array( [TestCookie1] => 1 [TestCookie2] => 2 [TestCookie3] => 3 [TestCookie4] => 4)
请问大神们如何把多个COOKIE的值用CURLOPT_COOKIE写出来??求解
回复讨论(解决方案)
多个 COOKIE 变量用分号分开即可
一般网站不大可能始终都是静态的 cookie,一般应用 CURLOPT_COOKIEJAR 动态获取到文件,并用 CURLOPT_COOKIEFILE 发送
多个 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 的用法么,动态获取不是很懂,给点资料看看也行
上一篇: PHP能否做BS架构的开发?
下一篇: 各位帮忙给看一下啊,谢谢了。。。