Estoy intentando crear algo que registre mi dirección IP pública en una base de datos, cada pocos minutos.
Ya he desarrollado una página web que registra la IP del espectador cada vez que se carga.
Me gustaría configurar una tarea cron que cargue periódicamente la página en segundo plano. Sé cómo configurar el trabajo cron, pero no sé cómo cargar una página web en segundo plano desde la línea de comando.
¿Cómo harías para hacer esto?
Respuesta1
Presumiblemente, la página fue desarrollada para que el agente de usuario no tenga que ser realmente un navegador. Si este es el caso, simplemente puede usar el curl
comando para buscar la página.
Si lo está ejecutando como un trabajo cron, no desea que el comando imprima ningún resultado. Para hacer esto, use la --silent
opción de curl y descarte la respuesta HTTP redirigiendo la salida a /dev/null
. Por ejemplo, agregue el siguiente trabajo cron para recuperar la página cada 10 minutos:
*/10 * * * * curl --silent http://example.com/path/to/page curl >/dev/null
Si desea ser más eficiente, puede desarrollar su página web para que responda tanto a una HEAD
solicitud HTTP como GET
a otras solicitudes. De esa manera, podría utilizarlo curl -I
para que solo se envíen encabezados HTTP entre el servidor y el cliente.
Respuesta2
- Seleccione un lenguaje de programación: Ruby, Python, Java o C#
- Escriba una instancia de Selenium webdriver, por ejemplo
driver = Selenium::WebDriver.for :firefox
- Escriba el comando para visitar la URL, por ejemplo (Ruby)
driver.get "http://www.google.com"
- Considere si un GET directo sería mejor que usar un navegador
Más información enhttp://www.seleniumhq.org/docs/03_webdriver.jsp#setting-up-a-selenium-webdriver-project