Méthode recommandée pour le chargement d'une URL via une tâche planifiée sous Windows
J'ai une page web hébergée sur une machine Windows, que j'ai besoin pour assurer obtient chargé au moins une fois/jour. Mon plan est de créer une tâche planifiée qui s'ouvre Internet Explorer et frappe l'URL:
"C:\Program Files\Internet Explorer\iexplore.exe" myurl.com/script_to_run_daily.aspx
C'était simple à installer et fonctionne très bien, mais il me frappe comme un hack car Internet Explorer a en fait d'ouvrir et de frapper cette URL. Je n'ai pas besoin d'entrée de retour à partir de cette page, il suffit simplement de stocke en mémoire cache des données dans les fichiers quand il est frappé.
Est-il un moyen de le faire? En cas de questions, c'est un VB.net site.
Merci d'avance!
- Tandis qu'un bon script VB est une meilleure façon d'aller vous pouvez noter qu'il est possible d'arrêter la tâche si elle tourne pendant plus d'une heure dans l'onglet paramètres du Planificateur de Tâches.
Vous devez vous connecter pour publier un commentaire.
Comme l'a fait remarquer Remus Rusanu, PowerShell serait la voie à suivre. Voici un simple one-liner que vous pouvez utiliser pour créer une tâche planifiée, sans avoir besoin d'écrire un document distinct .ps1 fichier:
Noter que les sauts de ligne sont ajoutés uniquement à des fins de clarté dans toutes ces lignes de commande. De les retirer avant de vous essayez d'exécuter les commandes.
Vous pouvez créer la tâche planifiée comme ceci: (l'exécuter à partir d'une invite de commande élevée)
Ci-dessus va travailler pour PowerShell 3+. Si vous avez besoin de quelque chose qui va travailler avec les anciennes versions, voici le one-liner:
Vous pouvez créer la tâche planifiée comme ceci: (à partir d'une invite de commande élevée)
La
schtasks
exemples de définir la tâche à exécuter quotidiennement, consulter le schtasks documentation pour plus d'options.Vous pouvez planifier un PowerShell script. PS est très puissant et vous donne accès à l'ensemble de l' .Net Framework, plus de changement. Voici un exemple:
Une autre option est de VB Script. Par exemple (enregistrer en tant que fichier.vbs):
De PowerShell 5.0,
curl
est un alias pourInvoke-WebRequest
, de sorte que vous pouvez créer une Tâche Planifiée comme suit:Vous pouvez également utiliser
Invoke-WebRequest
, maiscurl
est plus concis.Cette SuperUser.com réponse est beaucoup plus simple.
Plus précisément, voici à quoi il ressemble dans une Tâche Planifiée de Windows:
Bien que, ce qui a probablement s'exécute par défaut configuration du navigateur en arrière-plan. Si elle doit être IE, alors que ce devrait être configuré. C'est probablement la meilleure option. Il est bon d'avoir une solution qui fonctionne directement comme une étape de la Tâche. Toutes les informations sont là. Encore mieux si c'est laconique, de sorte que vous pouvez voir la plupart de la commande sans défilement sur la zone de texte.
WGET /CURL - bonne alternative
Si quoi que ce soit, WGET serait une bonne alternative à
cmd..start..url
. Je ne suis pas le premier à penser à ce. L'inconvénient est que vous devez téléchargement WGET pour Windows pour qu'il fonctionne, elle n'est pas un out-of-the-box solution. Mais WGET est plus léger et, surtout, il vous donne plus de puissance. Vous pouvez envoyer beaucoup d'autres types d'appels d'URL. Cela comprend les différentes méthodes HTTP, tels que la POSTE, en-Têtes personnalisés et plus encore. Curl est une bonne option, au lieu de Wget - ils ont différents ensembles de fonctionnalités, de nombreux chevauchements.PowerShell - pas recommandé
PowerShell, pourrait être considéré comme un "léger" option, mais vous êtes également en charge une PowerShell (.Net domaine d'application) qui a un peu de lag, et aussi la commande est beaucoup plus long, et donc plus difficiles à retenir si vous faites cela régulièrement. Donc PowerShell n'est pas la meilleure option.
VBScript - pas recommandé
Clairement, VBScript est moins recommandable. Vous avez beaucoup plus de vous devez vous rappeler, et le script est assez grand. Sauf si vous avez d'autres étapes qui garantit un script, n'ont pas complètement distincte de ressources juste pour faire quelque chose que vous pourriez avoir accompli directement à l'intérieur d'une Tâche Planifiée.
Aussi, voir les mêmes questions:
Il y a les versions de Windows les plus courantes de la ligne de commande de requête http outils, tels que cURL et wget. On peut certainement créer une tâche planifiée qui irait à l'un de ces. Je l'ai aussi fait à partir de Windows Scripting Host script, si vous avez besoin de boucle ou de créer des paramètres d'URL à la volée, ou quelque chose du genre.
essayé avec du roulage sur PowerShell 4.0,
curl est un alias pour Invoquer-WebRequest, de sorte que vous pouvez créer une Tâche Planifiée comme suit:
Action: lancer un programme
Programme/script: powershell
Ajouter des arguments: curl http://www.example.com/foo/bar
a fonctionné comme un charme!