Comment exécuter une page Web en arrière-plan?

J'essaye de faire quelque chose qui enregistre mon adresse IP publique dans une database, toutes les quelques minutes.

J'ai déjà développé une page web qui enregistre l'adresse IP du spectateur dès qu'il est chargé.

Je voudrais mettre en place un travail cron qui chargera périodiquement la page en arrière-plan. Je sais comment mettre en place le travail cron, mais je ne sais pas comment charger une page web en arrière-plan à partir de la command line.

Comment vas-tu faire ça?

On peut supposer que la page a été développée de sorte que l'agent d'user ne doit pas nécessairement être un browser. Si c'est le cas, vous pouvez simplement utiliser la command curl pour récupérer la page.

Si vous l'exécutez en tant que travail cron, vous ne souhaitez pas que la command imprime une sortie. Pour cela, utilisez l'option --silent pour curl et supprimez la réponse HTTP en redirigeant la sortie vers /dev/null . Par exemple, ajoutez le travail cron suivant pour récupérer la page toutes les 10 minutes:

 */10 * * * * curl --silent http://example.com/path/to/page curl >/dev/null 

Si vous voulez être plus efficace, vous pouvez développer votre page Web afin qu'elle réponde à une requête HTTP HEAD ainsi qu'aux requêtes GET . De cette façon, vous pouvez utiliser curl -I sorte que seuls les en-têtes HTTP sont envoyés entre le server et le client.

  1. Sélectionnez un langage de programmation – Ruby, Python, Java ou C #
  2. Ecrire une instance de selenium webdriver, par exemple driver = Selenium::WebDriver.for :firefox
  3. Écrivez la command pour visiter l'URL, par exemple (Ruby) driver.get "http://www.google.com"
  4. Envisager si un GET direct serait mieux que d'utiliser un browser

Plus d'infos sur http://www.seleniumhq.org/docs/03_webdriver.jsp#setting-up-a-selenium-webdriver-project