requête web http à partir d'un fichier batch
-
05-07-2019 - |
Question
Je dois exécuter une demande Web http à partir du planificateur de tâches de Plesk (en utilisant un hébergement partagé sur Windows / ASP.NET; pas de Powershell, que ce soit). Vous avez pensé à utiliser un fichier de commandes pour cela.
Existe-t-il un moyen facile de faire cela?
La solution
Consultez curl . C'est un outil multi-plateforme en ligne de commande pour faire des requêtes Web (similaire à wget si vous l'aviez déjà utilisé auparavant). Vous devriez pouvoir appeler cela depuis votre fichier de commandes.
Autres conseils
Sans fichiers binaires externes - seules les fonctionnalités intégrées de Windows - > https://github.com/npocmaka/batch. scripts / blob / master / hybrids / jscript / winhttpjs.bat
Ceci est hybride jscript / .bat
et peut être appelé comme une simple batte.
Exemple d'utilisation (j'ai utilisé http://requestb.in/ à des fins de test):
call winhttpjs.bat "http://requestb.in/xxxxxx" -method POST -header hdrs.txt -reportfile reportfile2.txt
call winhttpjs.bat "http://requestb.in/xxxxxx" -method GET -header hdrs.txt -reportfile reportfile3.txt -saveTo c:\somezip.zip
call winhttpjs.bat "http://requestb.in/xxxxxx" -method POST -header hdrs.txt -reportfile reportfile2.txt -saveTo responsefile2 -ua "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" -body-file some.json
Le format des fichiers d'en-tête doit ressembler à (s'il est passé avec l'argument de la commande -header
):
Header-1: Value-1
ExampleHeader: Value2
Vous pouvez essayer d'utiliser wget pour Windows .
Qu'est-ce que vous êtes-vous autorisé à installer? Pourriez-vous utiliser par exemple wget pour Windows ? Ou écrivez un exécutable .NET qui fait tout ce dont vous avez besoin pour utiliser WebClient ou HttpWebRequest?
Le & cur; curl " utiliity, qui est essentiellement un wrapper en ligne de commande pour la merveilleuse bibliothèque libcurl, gérera presque toute requête ou réponse http. C'est librement disponible gratuitement.