2011-08-24 4 views
55

Я использую локон, чтобы получить печенье, как так:Отправить печенье с завитком

curl -c cookies.txt url 

я разобрать печенье я хочу от cookies.txt файла и отправить запрос снова печенье

curl -b "name=value" url 

Это правильный способ отправить файл cookie? Есть ли более простой способ?

ответ

82

Вы можете использовать -b для указания файла cookie для чтения файлов cookie.

Во многих ситуациях с использованием -c и -b в тот же файл, что вы хотите:

curl -b cookies.txt -c cookies.txt http://example.com 

Далее

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

Параметр -b подает набор начальных файлов cookie в curl, чтобы он знал о них при запуске, и он активирует парсер cookie curl, чтобы он анализировал и использовал входящие файлы cookie.

Смотрите также

cookies chapter в Everything завитка книги.

+5

Я хочу, чтобы страница man для '--cookie-jar' не говорила:« Эта опция командной строки активирует движок cookie, который делает запись curl ** и использует ** cookie.«[emphasis mine] Поскольку это звучит так, просто« --cookie-jar »приведет к отправке файлов cookie, что является ложным. – blahdiblah

+1

@blahdiblah: это правда. Если вы используете --cookie-jar для командной строки, сначала получает куки, а затем перенаправляет на вторую страницу, он будет использовать файлы cookie с первой страницы (при условии, что они совпадают и т. д.). Он просто не будет читать какие-либо исходные файлы cookie из любого файла. –

+0

Да, страница руководства вводит в заблуждение. Я думал, что отправляю файлы cookie с помощью опции -c, пока я не использовал -v и не увидел, что он их не отправляет. – deltaray

4

Формат файла куки, по-видимому, состоит из линии на печенье и каждая строка состоит из следующих семи разделителями табуляции полей:

  • домен - домен, который создал и который может прочитать переменную.
  • флаг - значение TRUE/FALSE, указывающее, могут ли все машины в пределах данного домена получить доступ к переменной. Это значение автоматически устанавливается браузером в зависимости от значения, установленного для домена.
  • path - путь в домене, для которого действительна переменная.
  • secure - значение TRUE/FALSE, указывающее, требуется ли безопасное соединение с доменом для доступа к переменной.
  • expiration - Время UNIX, в течение которого переменная истекает. Время UNIX определяется как количество секунд с 1 января 1970 года 00:00:00 GMT.
  • имя - название переменной.
  • value - Значение переменной.

От http://www.cookiecentral.com/faq/#3.5

1

если вы установили поджигатель на светлячок, просто открыть URL. На сетевой панели щелкните правой кнопкой мыши и выберите копию как cURL. Вы можете увидеть все параметры завитка для этого веб-звонка.

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