2008-11-13 7 views
72

Je veux obtenir les en-têtes que d'une demande boucledonnées post Curl et les en-têtes seulement

curl -I www.google.com

Tous les grands. Maintenant, je veux faire, mais de passer des données post aussi:

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

Mais tout ce que je reçois est:

Warning: You can only select one HTTP request!

Quelqu'un a une idée de comment faire ceci ou que je fais quelque chose de stupide?

Répondre

110

L'option -I dit boucle faire une requête HEAD alors que l'option -d'test=test' dit boucle de faire un post, vous dites boucle faire deux types de requêtes différentes.

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

ou, sous Windows:

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

C'est la plus élégante façon de le faire autant que je peux trouver. Les options sont:

  • -D- Dump l'en-tête du fichier répertorié, ou stdout quand - est passé, comme celui-ci.
  • -o/dev/null Envoyer le corps au fichier répertorié. Ici, nous jetons le corps afin que nous ne voyions que les en-têtes.
  • -s silencieux (pas de barre de progression)
+14

Une explication de ce que les drapeaux signifient serait utile – Madbreaks

+8

** - s **: silencieux (pas de barre de progression) ** - d **: effectue un POST avec la chaîne de requête donnée ** - D **: dump-header vers le fichier (stdout quand - est passé) ** - o **: réponse en sortie au fichier Le manuel cite tous ces indicateurs de toute façon. – raphael

+0

Si quelqu'un veut exécuter ceci sur Windows il suffit de remplacer '-o/dev/null' par' -o nul' (testé sous Windows XP). –

30

-d signifie que vous envoyez des données de formulaire via la méthode POST. -I signifie que vous êtes juste furtivement aux métadonnées via HEAD.

Je vous suggère soit

  • Télécharger pour /dev/null et écrire les en-têtes via le -D headerfile au fichier headerfile
  • Utilisez -i pour inclure les en-têtes dans les réponses et sauter tout de la première ligne vide.
+0

Cheers, sens –

+0

vieux, je sais, mais je suggère d'ajouter '-s' pour nettoyer la sortie un peu. – rossipedia

+1

Le '-i' était le truc que je cherchais – fguillen