2014-02-20 7 views
30

Ich benutze Bash zu POST zu einer Website, die erfordert, dass ich zuerst angemeldet bin. Also muss ich die Anfrage mit Login-Cookie senden. Also habe ich versucht, mich einzuloggen und die Cookies zu behalten, aber es funktioniert nicht, weil die Seite Javascript verwendet, um das Passwort auf eine wirklich seltsame Weise zu hashen. Stattdessen nehme ich einfach meine Login-Cookies für die Seite von Chrome. Wie bekomme ich die Cookies von Chrome und formatiere sie für Curl?Wie kopiere ich Cookies von Chrome?

Ich versuche, dies zu tun:

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

Antwort

56
  1. Hit F12 die Entwickler-Konsole zu öffnen.
  2. Schauen Sie sich die Registerkarte Netzwerk an.
  3. tun, was Sie auf der Website zu benötigen die Aktion Sie Interesse an
  4. Rechtsklick auf die entsprechende Anforderung, und wählen Sie „Kopieren als curl“

Dies gibt Ihnen die curl Befehl auszulösen für die Aktion, die Sie ausgelöst haben, vollständig mit Cookies und allen gefüllt. Sie können natürlich auch die Flags als Grundlage für neue curl-Befehle kopieren.

+0

Danke, das ist genau das, was ich brauchte – jackcogdill

+3

Kopiert Cookies in Chrom nicht 44 –

+0

Kann nicht bestätigen oder widerlegen auf Chrom 44. Aber es funktioniert definitiv mit Chrom 45. – jox

9

In Chrome:

  • Offene Web-Entwickler-Tools (Ansicht -> Entwickler -> Entwickler-Tools)
  • Öffnen Sie die Registerkarte Anwendung (auf älteren Versionen, Ressourcen)
  • Öffnen Sie die Plätzchen Baum
  • Finden Sie den Cookie Sie interessiert sind.

im Terminal

  • fügen Sie --cookie "cookiename=cookievalue" zu Ihrer Anforderung hinzu.
+3

Sie können mehrere über 'name1 = value1; Name2 = Wert2 '. – Wernight

+2

Ich musste dreimal auf den Cookie klicken, um zu wählen – 79E09796

0

Es gibt eine noch einfachere Möglichkeit, dies in Chrom/Chrom zu tun.
Die Open-Source-Chrome-Erweiterung cookietxt-export exportiert Cookie-Daten in eine cookies.txt-Datei und generiert einen optionalen vorgefertigten wget-Befehl.

* Ich habe nichts mit der Erweiterung zu tun, es funktioniert einfach sehr gut.

Verwandte Themen