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)
ログイン後にコピー




CURLOPT_COOKIE を使って複数の COOKIE の値を書き込む方法を教えてください。 ?解決する


ディスカッションに返信する (解決策)

複数の COOKIE 変数はセミコロンで区切ることができます

一般的な Web サイトでは、常に静的 Cookie が存在する可能性は低く、通常、CURLOPT_COOKIEJAR を使用してファイルを動的に取得し、CURLOPT_COOKIEFILE で送信します。

複数の COOKIE 変数はセミコロンで区切ることができます


一般的に、Web サイトには静的 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');   
ログイン後にコピー
と書くだけです。あなたが言ったように、パス、ドメイン、有効期限の書き方を教えてください。


CURLOPT_COOKIEJAR CURLOPT_COOKIEFILE の使い方について詳しく説明していただけませんか。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート