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