--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.
спасибо. Он пишет, но не читает. – Tom
Я не знаю, почему, это работает для меня. Я вижу файл cookie в заголовке 'Cookie:'. – Barmar
Можете ли вы показать свой результат? Кстати, это работает для меня, если я не буду использовать файл. – Tom