CURLのCookieデータを指定する方法を探していました。訪問したページからCookieを保存する方法についていくつかの解決策を見つけましたが、それは私が必要としているものではありません。私が欲しいのは、Cookieのデータを自分で書き込むことです。これにより、CURLはそれを使用します。
あなたは本当にすべきです ドキュメントを読んでください -それはあなたが期待する正確なキーワードでリストされており、多くの役立つ情報が含まれています:
-b、-cookie
(HTTP)データをCookieとしてHTTPサーバーに渡します。これはおそらく、以前にサーバーから「Set-Cookie:」行で受信したデータです。データは「NAME1 = VALUE1; NAME2 = VALUE2」の形式である必要があります。
行に「=」記号が使用されていない場合、以前に保存されたCookie行を読み取るために使用するファイル名として扱われます。これらが一致する場合は、このセッションで使用する必要があります。このメソッドを使用すると、「Cookieパーサー」もアクティブになり、着信Cookieもカールレコードに記録されます。これを-L、-locationオプションと組み合わせて使用する場合に便利です。 Cookieを読み取るファイルのファイル形式は、プレーンHTTPヘッダーまたはNetscape/MozillaCookieファイル形式である必要があります。
-b、-cookieで指定されたファイルは、入力としてのみ使用されることに注意してください。 Cookieはファイルに保存されません。 Cookieを保存するには、-c、-cookie-jarオプションを使用するか、-D、-dump-headerを使用してHTTPヘッダーをファイルに保存することもできます。
このオプションが複数回設定されている場合は、最後のオプションが使用されます。
curl_setopt
CURLOPT_COOKIE定数を使用:
<?php
// create a new cURL resource
$ch = curl_init();
// cookies to be sent
curl_setopt($ch, CURLOPT_COOKIE, "fruit=Apple; colour=red");
cURLは、 Netscape形式 のCookieファイルを使用できます。このようなファイルを自分で作成し、CURLOPT_COOKIEFILE
オプションとして使用するだけです。