web-dev-qa-db-ja.com

CURLでCookieの内容を設定することはできますか?

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

16
Ahatius

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

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

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

20

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");
22
vvondra

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

2
Emil Vikström