2008-11-13 19 views
72

chcę uzyskać nagłówki tylko z curl życzenieCurl dane pocztowe i nagłówki tylko

curl -I www.google.com

Wszystko wielki. Teraz chcę zrobić, ale przechodzą w danych pocztowych też:

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

Ale pojawia się:

Warning: You can only select one HTTP request!

Ktoś ma jakiś pomysł jak to zrobić, albo robię coś głupiego?

Odpowiedz

110

Opcja -I mówi curl zrobić żądanie HEAD natomiast opcja -d'test=test' mówi curl zrobić POST, więc mówisz curl zrobić dwa różne typy żądań.

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

lub w systemie Windows:

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

To najwspanialszej sposób to zrobić o ile znajdę. Dostępne są następujące opcje:

  • -D- Dump nagłówek do pliku na liście lub stdout gdy - jest przekazywana, tak.
  • -o/dev/null Wyślij ciało do wskazanego pliku. Tutaj odrzucamy ciało, więc widzimy tylko nagłówki.
  • -s cichy (bez paska postępu)
+14

Wyjaśnienie znaczenia znaczników byłoby pomocne – Madbreaks

+8

** - s **: cichy (brak paska postępu) ** - d **: wykonuje test POST z podanym łańcuchem zapytania ** - D **: Dump-Header do pliku (stdout, kiedy - jest przekazywany) ** - o **: odpowiedź wyjściowa do pliku Instrukcja i tak przytacza wszystkie te flagi. – raphael

+0

Jeśli ktoś chce uruchomić to w systemie Windows, po prostu zamień '-o/dev/null' na' -o nul' (testowany w Windows XP). –

30

-d oznacza, że ​​wysyłasz dane formularza za pomocą metody POST. -I oznacza, że ​​właśnie zaglądasz do metadanych przez HEAD.

Sugerowałbym albo

  • Pobierz na /dev/null i pisać nagłówki pośrednictwem -D headerfile do pliku headerfile
  • użytkowania -i zawierać nagłówki w odpowiedziach i pominąć wszystko od pierwszego pustego wiersza.
+0

Cheers, ma sens –

+0

stary, wiem, ale chciałbym zaproponować dodanie '-s' oczyścić wyjście trochę. – rossipedia

+1

"-i" było lewą, szukałem – fguillen

Powiązane problemy