Nur Curl-Post-Daten und Header

73

Ich möchte die Header nur von einer Curl-Anfrage erhalten

curl -I www.google.com

Alles großartig. Jetzt möchte ich das tun, aber auch Postdaten übergeben:

curl -I -d'test=test' www.google.com

Aber alles was ich bekomme ist:

Warning: You can only select one HTTP request!

Hat jemand eine Idee, wie man das macht oder mache ich etwas Dummes?

JD Fitz.Gerald
quelle

Antworten:

116

Die -IOption weist curl an, eine HEAD-Anforderung auszuführen, während die -d'test=test'Option curl anweist, einen POST auszuführen, sodass Sie curl anweisen, zwei verschiedene Anforderungstypen auszuführen.

curl -s -d'test=test' -D- -o/dev/null www.google.com 

oder unter Windows:

curl -s -d'test=test' -D- -onul: www.google.com 

Soweit ich das beurteilen kann, ist dies der beste Weg, dies zu tun. Die Optionen sind:

  • -D-Speichern Sie den Header wie -folgt in der aufgelisteten Datei oder stdout, wenn er übergeben wird.
  • -o/dev/nullSenden Sie den Text an die angegebene Datei. Hier verwerfen wir den Körper, sodass wir nur die Überschriften sehen.
  • -s Lautlos (kein Fortschrittsbalken)
JD Fitz.Gerald
quelle
14
Eine Erklärung, was die Flaggen bedeuten, wäre hilfreich
Madbreaks
8
-s : Silent (kein Fortschrittsbalken) -d <Daten> : Führt einen POST mit der angegebenen Abfragezeichenfolge durch. -D <Datei> : Dump-Header in Datei (Standard, wenn - übergeben wird) -o <Datei> : Ausgabe Antwort auf Datei Das Handbuch zitiert ohnehin alle diese Flags.
Raphael
Wenn jemand will , das auf Windows läuft ersetzen Sie einfach -o/dev/nullmit -o nul(unter Windows XP getestet).
Jan Święcki
30

-dbedeutet, dass Sie Formulardaten über die POSTMethode senden . -Ibedeutet, dass Sie nur über die Metadaten über spähen HEAD.

Ich würde auch vorschlagen

  • Laden Sie /dev/nulldie Header herunter und schreiben Sie sie über -D headerfiledie Dateiheaderfile
  • Verwenden Sie -idiese Option , um die Überschriften in die Antworten aufzunehmen und alles von der ersten leeren Zeile aus zu überspringen.
Phihag
quelle
Alt, ich weiß, aber ich würde vorschlagen, etwas hinzuzufügen -s, um die Ausgabe ein wenig zu bereinigen.
Wikipedia
Wow, ja -iist genau das, wonach ich denke, dass jeder sucht. Warum sind die anderen Antworten komplizierter? Ich bin sicher, dass es hier einige Nuancen gibt.
Cody Reichert