2014-02-20 2 views
30

Я использую bash для POST на веб-сайт, который требует, чтобы я вошел в систему первым. Поэтому мне нужно отправить запрос с помощью cookie для входа. Поэтому я попытался войти в систему и сохранить файлы cookie, но это не сработает, потому что сайт использует javascript для хеширования пароля по-настоящему странным образом, поэтому вместо этого я просто возьму свои файлы cookie для входа на сайт из Chrome. Как получить куки из Chrome и отформатировать их для Curl?Как скопировать файлы cookie из Chrome?

Я пытаюсь сделать это:

curl --request POST -d "a=X&b=Y" -b "what goes here?" "site.com/a.php" 

ответ

56
  1. Hit F12, чтобы открыть консоль разработчика.
  2. Посмотрите вкладку Сеть.
  3. Делайте все, что вам нужно на веб-сайте, чтобы вызвать действие вы заинтересованы в
  4. правой кнопкой мыши на соответствующий запрос, и выберите «Копировать как закручивание»

Это даст вам локон команду за действие, которое вы вызвали, полностью заселенное куки-файлами и всеми. Вы можете, конечно, также скопировать флаги в качестве основы для новых команд curl.

+0

Спасибо, что мне нужно – jackcogdill

+3

Не копирует куки в хроме 44 –

+0

Не могу подтвердить или опровергнуть хром 44. Но он определенно работает с хромом 45. – jox

9

В Chrome:

  • инструментов Открыть веб-разработчик (вид -> разработчик -> инструменты для разработчиков)
  • Откройте вкладку Application (в более старых версиях, ресурсы)
  • Открыть дерева Печенье
  • Найти куки вы заинтересованы.

в терминале

  • добавить --cookie "cookiename=cookievalue" к вашему запросу.
+3

Вы можете указать несколько через 'name1 = value1; name2 = значение2' . – Wernight

+2

Мне нужно было втрое нажать куки-файл, чтобы выбрать – 79E09796

0

В Chrome/Chromium есть еще более простой способ сделать это.
Расширение Chrome с открытым кодом cookietxt-export экспортирует данные cookie в файл cookie.txt и генерирует необязательную готовую команду wget.

* Я не имею никакого отношения к расширению, он просто работает очень хорошо.

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