analyser-tête de réponse http à partir de wget
Im essayant d'en extraire une ligne de wget du résultat, mais en ayant de la difficulté avec elle.
C'est mon wget appel:
$ wget -SO- -T 1 -t 1 http://myurl.com:15000/myhtml.html
De sortie:
--18:24:12-- http://xxx.xxxx.xxxx:15000/myhtml.html => `-' La résolution de xxx.xxxx.xxxx... xxx.xxxx.xxxx La connexion à xxx.xxxx.xxxx|xxx.xxxx.xxxx|:15000... connecté. Requête HTTP envoyée, dans l'attente de la réponse... HTTP/1.1 302 Found Date: tue, 18 Nov 2008 23:24:12 GMT Serveur: IBM_HTTP_Server Expires: Thu, 01 Dec 1994 16:00:00 GMT Emplacement: https://xxx.xxxx.xxxx/siteminderagent/... Content-Length: 508 Keep-Alive: timeout=10, max=100 Connection: Keep-Alive Content-Type: text/html; charset=iso-8859-1 Emplacement: https://xxx.xxxx.xxxx//siteminderagent/... --18:24:13-- https://xxx.xxxx.xxxx/siteminderagent/... => `-' La résolution de xxx.xxxx.xxxx... a échoué: le Nom ou le service n'est pas connu.
si je fais ceci:
$ wget -SO- -T 1 -t 1 http://myurl.com:15000/myhtml.html | egrep -i "302" <br/>
Il ne marche pas me rendre la ligne qui contient la chaîne de caractères. Je veux juste vérifier si le site ou le siteminder est.
OriginalL'auteur StephenNYC | 2008-11-19
Vous devez vous connecter pour publier un commentaire.
La sortie de wget vous êtes à la recherche pour qui est écrit sur stderr. Vous devez rediriger:
OriginalL'auteur Piotr Lesnicki
wget
imprime les en-têtes de stderr, pas de sortie standard (stdout). Vous pouvez rediriger stderr vers stdout comme suit:Le "2>,&1" partie dit redirect ('>') descripteur de fichier 2 (stderr) au descripteur de fichier 1 (stdout).
OriginalL'auteur Adam Rosenfield
Un peu d'une version améliorée du déjà fourni la solution
2>&1 >/dev/null
va couper inutile de sortie. De cette façon, egrep va analyser seulement wget est stderr, ce qui élimine la possibilité d'attraper les chaînes contenant 302 à partir de la sortie standard stdout (où le fichier html en sortie + télécharger des proces de bar avec résultant nombre d'octets d'e.t.c.) 🙂egrep -c
compte le nombre de correspondance de chaînes au lieu de simplement la sortie. Assez pour savoir combien de chaînes de egrep de correspondance.OriginalL'auteur DrBao
wget --server-réponse http://www.amazon.de/xyz 2>,&1 | awk '/^ HTTP/{print $2}'
OriginalL'auteur Th 00 mÄ s
Juste pour expliquer un peu. Le
-S
basculer dans la question d'origine est un raccourci pour--server-response
.Aussi, je sais que les OP spécifié
wget
, maiscurl
est similaire et les valeurs par défaut sur la sortie standard STDOUT .ou
La
--silent
commutateur est seulement nécessaire pourgrep
-capacité: (-s
s'éteint progrès % compteur)OriginalL'auteur MarkHu