16

CURL の Cookie データを指定する方法を探していました。訪問したページから Cookie を保存する方法についていくつかの解決策を見つけましたが、それは私が必要としているものではありません。私が望むのは、Cookie のデータを自分で書きたいので、CURL がそれを使用することです。

4

3 に答える 3

22

curl_setoptCURLOPT_COOKIE 定数で使用できます。

<?php
// create a new cURL resource
$ch = curl_init();

// cookies to be sent
curl_setopt($ch, CURLOPT_COOKIE, "fruit=apple; colour=red");
于 2012-05-13T08:34:42.270 に答える
20

本当にドキュメントを読むべきです- それはまさにあなたが期待するキーワードでリストされており、多くの役立つ情報が含まれています:

-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 ヘッダーをファイルに保存することもできます。

このオプションが複数回設定されている場合、最後のオプションが使用されます。

于 2012-05-13T08:33:59.453 に答える
2

cURL は、 Netscape 形式の Cookie ファイルを使用できます。そのようなファイルを自分で作成し、CURLOPT_COOKIEFILEオプションとして使用してください。

于 2012-05-13T08:33:38.650 に答える