Estou tentando fazer algo que registre meu endereço IP público em um banco de dados, a cada poucos minutos.
Já desenvolvi uma página web que registra o ip do visualizador sempre que carregada.
Gostaria de configurar um cron job que carregue periodicamente a página em segundo plano. Sei como configurar o cron job, mas não sei como carregar uma página da web em segundo plano a partir da linha de comando.
Como você faria isso?
Responder1
Presumivelmente, a página foi desenvolvida para que o agente do usuário não precise realmente ser um navegador. Se for esse o caso, você pode simplesmente usar o curl
comando para buscar a página.
Se você estiver executando-o como um cron job, não deseja que o comando imprima nenhuma saída. Para fazer isso, use a --silent
opção curl e descarte a resposta HTTP redirecionando a saída para /dev/null
. Por exemplo, adicione o seguinte cron job para buscar a página a cada 10 minutos:
*/10 * * * * curl --silent http://example.com/path/to/page curl >/dev/null
Se quiser ser mais eficiente, você pode desenvolver sua página da web para que ela responda tanto a HEAD
solicitações HTTP quanto GET
a solicitações. Dessa forma, você poderia usar curl -I
apenas cabeçalhos HTTP entre o servidor e o cliente.
Responder2
- Selecione uma linguagem de programação – Ruby, Python, Java ou C#
- Escreva uma instância do Selenium webdriver, por exemplo
driver = Selenium::WebDriver.for :firefox
- Escreva o comando para visitar a URL, por exemplo (Ruby)
driver.get "http://www.google.com"
- Considere se um GET direto seria melhor do que usar um navegador
Mais informações emhttp://www.seleniumhq.org/docs/03_webdriver.jsp#setting-up-a-selenium-webdriver-project