> 백엔드 개발 > PHP 튜토리얼 > curlopt_cookie问题

curlopt_cookie问题

WBOY
풀어 주다: 2016-06-23 14:11:07
원래의
1936명이 탐색했습니다.

我使用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显示的结果确是
<?phpsetcookie("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 class="brush:php;toolbar:false">';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.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿