Lot de script obtenez un site en html et analyser le contenu (sans wget, curl ou d'autres app externe)
J'ai besoin de travailler avec windows cmd fonctionnalité. J'ai besoin de deux vars/les chaînes à partir d'un site web pour l'utilisation dans le batchscript pour valider les mesures. Pour ne pas faire trop simple, ce site a besoin de l'authentification en plus.
J'ai trouvé cela quelque part:
@set @x=0 /*
:: ChkHTTP.cmd
@echo off
setlocal
set "URL=http://www.google.com"
cscript /nologo /e:jscript "%~f0" %URL% | find "200" > nul
if %ErrorLevel% EQU 0 (
echo Web server ok % Put your code here %
) else (
echo Web server error reported
)
goto :EOF
JScript */
var x=new ActiveXObject("Microsoft.XMLHTTP");
x.open("GET",WSH.Arguments(0));x.send();
while (x.ReadyState!=4) {WSH.Sleep(50)};
WSH.Echo(x.status)
Mais je ne suis pas sûr si c'est possible d'obtenir le contenu du site de cette façon au lieu de statut de la réponse et en plus je ne sais pas comment la mettre site web d'authentification.
Le code ci-dessus ne fonctionne pas correctement car il sera toujours produire de l'erreur à cause de la pipe, mais cela semblait plus proche de mes besoins, de l'analyse du contenu, je l'espère.
Notez que le script que vous avez énumérés utilise JScript. Êtes-vous en mesure d'utiliser d'autres langages de script en Batch (Powershell, JScript, VBScript, Etc...)? Aussi +1 pour le Prof Cornichon
powershell n'est pas installé pour le moment et ce serait un risque pour la sécurité, je suppose, mais le code ci-dessus est en cours d'exécution sur la machine, ainsi, de sorte jscript est possible et vbscript sera trop de travail par le biais de wsh, je suppose. le script original est pur lot et j'ai besoin de deux chaînes de caractères à partir du site web d'être rouge et utilisé comme vars pour valider l'encontre de certains de suppression des fichiers de l'action.
Je reviens toujours à celui-ci... je veux donner une réponse, mais je... n'arrive pas à comprendre pourquoi vous faites ça, lol.
comme je l'ai dit ci-dessus, le script est en cours d'exécution sur une action de nettoyer gauche sur les répertoires qui sont vides, ne pas perturber le processus d'aide et de laisser les répertoires, je dois d'abord vérifier la pile, il utilise en fait à ne pas toucher cette zone lors de la suppression de l'inutile.
OriginalL'auteur peet | 2013-03-13
Vous devez vous connecter pour publier un commentaire.
Je n'ai jamais utilisé de wget pour récupérer du contenu web à partir d'un Windows script de commandes. À l'aide d'un XHR via JScript était une idée fantastique!
Mais le script que vous essayez de piller l'intention semble être de vérifier si un serveur web est de répondre, non pas pour récupérer le contenu.
Avec quelques modifications, vous pouvez l'utiliser pour récupérer une page web et de faire ce traitement dont vous avez besoin.
Plus simple serait de passer le auth info via l'URL, comme
http://username:[email protected]/etc
. Je ne suis pas positif que cela va fonctionner. Si ça ne marche pas, alors je peux ajouter un peu de code pourx.setRequestHeader('Authorization',etc)
. Ou apparemment lex.open
méthode prend également en charge deux arguments optionnels pour l'approvisionnement auth info. Laissez-moi savoir si vous avez besoin de moi pour continuer dans ce sens.tu es géniale, j'ai presque oublié ce moyen facile d'authentification que ie et je suppose que la plupart des autres navigateurs qui ne supportent pas de cette façon, mais avec le script, il ne fonctionne bien pour moi. donc, la seule interessant option serait si avec d'autres égards, il serait possible d'utiliser une table de hachage au lieu d'effacer le mot de passe. en tout cas super travail, merci beaucoup de l'homme.
Le
if (@a==@b) @end
ligne est valideif
déclaration dans les deux Fenêtres de langue de lot et JScript. C'est valable, mais c'est intentionnellement fausse. Le morceau intéressant de la ligne, est la/*
à la fin. Qui commence à un commentaire de plusieurs lignes en JScript, donc JScript ignore tout ce qui est après/*
jusqu'à ce qu'il rencontre un*/
. Et depuis, en fait,@a
n' pas l'égalité des@b
, Windows cmd interprète n'est pas la peine d'essayer de l'exécuter@end /*
, mais, heureusement, continue à traiter les prochaines lignes qui JScript ignore que les commentaires.C'est génial. Tellement mieux que wget.
OriginalL'auteur rojo