2014-09-12 6 views
0

Я бегу локон, чтобы проверить печеньелокон не набор печенья, не печенье не сохранить

curl -v --cookie cookies.txt -b cookie_to_del http://localhost/ 

Там нет cookie_to_del файл появляется, но на выходе я вижу:

* Added cookie TestCookie="my+cookie+value" for domain localhost, path /, expire 0 
< Set-Cookie: TestCookie=my+cookie+value 

Точно так же, в печенье .txt У меня есть несколько файлов cookie и не вижу их настройки. Мой сервер имеет команду php print_r($_COOKIE);, и я показываю пустой массив.

Что случилось?

ответ

2

--cookie и -b эквивалентны, они просто указывают файл для чтения файлов cookie. Он не будет создавать или перезаписывать этот файл. И если вы даете им несколько раз, используется только последний.

Для того чтобы сэкономить куки, вы должны использовать --cookie-jar или -c. Так оно и должно быть:

curl -v --cookie cookies.txt --cookie-jar cookie_to_del http://localhost 

Если вы хотите обновить свои оригинальные печенья с куки, отправленной обратно, вы можете использовать один и тот же файл с обеих otions.

My `cookies.txt` file contains: 

# Netscape HTTP Cookie File 
# http://curl.haxx.se/rfc/cookie_spec.html 
# This file was generated by libcurl! Edit at your own risk. 

.bridgebase.com TRUE / FALSE 0 SRV www3 

И я:

$ curl -s -v --cookie cookies.txt --cookie-jar cookies_to_del http://www.bridgebase.com/vugraph/schedule.php >/dev/null 
* About to connect() to www.bridgebase.com port 80 (#0) 
* Trying 65.254.56.174... connected 
* Connected to www.bridgebase.com (65.254.56.174) port 80 (#0) 
> GET /vugraph/schedule.php HTTP/1.1 
> User-Agent: curl/7.21.4 (x86_64-apple-darwin10.8.0) libcurl/7.21.4 OpenSSL/0.9.8y zlib/1.2.3 libidn/1.20 
> Host: www.bridgebase.com 
> Accept: */* 
> Cookie: SRV=www3 
> 
< HTTP/1.1 200 OK 
< Server: nginx/1.6.0 
< Date: Fri, 12 Sep 2014 22:55:29 GMT 
< Content-Type: text/html; charset=utf-8 
< Transfer-Encoding: chunked 
< Connection: close 
< Vary: Accept-Encoding 
< X-Powered-By: PHP/5.4.26-0 
* Added cookie PHPSESSID="gu1fj84buirg370lee356b5r26" for domain www.bridgebase.com, path /, expire 0 
< Set-Cookie: PHPSESSID=gu1fj84buirg370lee356b5r26; path=/; HttpOnly 
< Expires: Thu, 19 Nov 1981 08:52:00 GMT 
< Pragma: no-cache 
< Cache-control: private 
< 
{ [data not shown] 
* Closing connection #0 

Как вы можете видеть, он послал заголовок Cookie: SRV=www3, который прочитанный из файла. Полученный cookies_to_del файл содержит:

# Netscape HTTP Cookie File 
# http://curl.haxx.se/rfc/cookie_spec.html 
# This file was generated by libcurl! Edit at your own risk. 

.bridgebase.com TRUE / FALSE 0 SRV www3 
#HttpOnly_www.bridgebase.com FALSE / FALSE 0 PHPSESSID gu1fj84buirg370lee356b5r26 

Что касается формата файла, документация говорит:

Файл формата файла для чтения куки должны быть простыми заголовки HTTP или Netscape/Mozilla формат файла cookie.

Файлы, которые я использовал, являются файлами cookie Netscape.

+0

спасибо. Он пишет, но не читает. – Tom

+0

Я не знаю, почему, это работает для меня. Я вижу файл cookie в заголовке 'Cookie:'. – Barmar

+0

Можете ли вы показать свой результат? Кстати, это работает для меня, если я не буду использовать файл. – Tom

Смежные вопросы