2012-05-13 8 views
16

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

答えて

20

あなたは本当にすべきread the documentation - それはあなたが期待する正確なキーワードで記載されていると役立つ情報がたくさん含まれています:

(HTTP)にデータを渡す

-b、--cookieをクッキーとしてのHTTPサーバーサーバーから「Set-Cookie:」行に以前に受信したデータは、おそらく です。 データは「NAME1 = VALUE1; NAME2 = VALUE2」の形式である必要があります。いいえ「=」シンボルが行で使用される場合

、それらが一致する場合、このセッションで を使用する必要があり、より以前に記憶されたクッキーの行を読み取るために 使用ファイル名として扱われます。このメソッドを使用すると "cookie parser"も有効になり、受信したクッキーもカールします。 これは、-Lの --locationオプションと組み合わせて使用​​すると便利です。 Cookieを読み込むファイルのファイル形式は、プレーンなHTTPヘッダーまたはNetscape/Mozillaのクッキーファイル の形式である必要があります。

-b、--cookieで指定されたファイルは、入力としてのみ使用されます。 ファイルにはCookieは保存されません。クッキーを保存するには、-c、 --cookie-jarオプションを使用するか、-D、 - dump-headerを使用してHTTPヘッダーをファイルに保存することもできます。

このオプションを複数回設定すると、最後に使用されたものが になります。

+0

グレート答えでもっと+1 – gahooa

+0

感謝を。私は唯一ではなかったようだ:) –

+0

魅力のように動作します! – PierreF

2

cURLはNetscape formatのクッキーファイルを使用できます。このようなファイルを自分で作成し、CURLOPT_COOKIEFILEオプションとして使用してください。

22

あなたはCURLOPT_COOKIE定数でcurl_etoptを使用することができます。

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

// cookies to be sent 
curl_setopt($ch, CURLOPT_COOKIE, "fruit=apple; colour=red"); 

PHP docs

関連する問題