Courbure de la ligne de commande peut afficher en-tête de réponse en utilisant `` option, mais je veux voir quel en-tête de demande qu’il envoie. Comment puis-je faire ?
Réponses
Trop de publicités?Je crois que le commutateur de ligne de commande, vous cherchez à passer pour curl est `` .
Exemple d’utilisation :
En outre, si vous rencontrez une réponse de code d’état HTTP 301, vous pourriez aussi passer une interrupteur d’argument pour dire
pour suivre les redirections URL et, dans ce cas, imprimer les en-têtes de toutes les pages (y compris les redirections URL), illustrées ci-dessous :
J'ai eu à surmonter ce problème moi-même, lors du débogage d'applications web. -v
est grande, mais un peu trop bavard à mon goût. C'est l' (bash seule) solution je suis venu avec:
curl -v http://example.com/ 2> >(sed '/^*/d')
Cela fonctionne parce que la sortie de -v
est envoyé sur la sortie stderr, pas de sortie standard (stdout). En redirigeant ce à un shell interne est exécuté, nous pouvons sed
, pour supprimer les lignes qui commencent par *
. Depuis la sortie réelle ne passe pas par le shell interne est exécuté, il n'est pas affecté. À l'aide d'un shell interne est exécuté est un peu lourde, mais c'est la façon la plus simple de rediriger stderr vers une autre commande. (Comme je l'ai indiqué, je suis le seul à l'utiliser pour tester, il fonctionne très bien pour moi.)