Ich versuche, etwas zu erstellen, das meine öffentliche IP-Adresse alle paar Minuten in einer Datenbank aufzeichnet.
Ich habe bereits eine Webseite entwickelt, die beim Laden die IP-Adresse des Betrachters aufzeichnet.
Ich möchte einen Cron-Job einrichten, der die Seite regelmäßig im Hintergrund lädt. Ich weiß, wie man den Cron-Job einrichtet, aber ich weiß nicht, wie man eine Webseite über die Befehlszeile im Hintergrund lädt.
Wie würden Sie dabei vorgehen?
Antwort1
Vermutlich wurde die Seite so entwickelt, dass der User-Agent nicht unbedingt ein Browser sein muss. In diesem Fall kannst du den curl
Befehl einfach zum Abrufen der Seite verwenden.
Wenn Sie es als Cron-Job ausführen, möchten Sie nicht, dass der Befehl eine Ausgabe druckt. Verwenden Sie dazu die --silent
Option für curl und verwerfen Sie die HTTP-Antwort, indem Sie die Ausgabe an umleiten /dev/null
. Fügen Sie beispielsweise den folgenden Cron-Job hinzu, um die Seite alle 10 Minuten abzurufen:
*/10 * * * * curl --silent http://example.com/path/to/page curl >/dev/null
Wenn Sie effizienter sein möchten, können Sie Ihre Webseite so entwickeln, dass sie sowohl auf HTTP- HEAD
Anfragen als auch GET
auf Anfragen antwortet. Auf diese Weise können Sie sicherstellen, curl -I
dass nur HTTP-Header zwischen dem Server und dem Client gesendet werden.
Antwort2
- Wählen Sie eine Programmiersprache – Ruby, Python, Java oder C#
- Schreiben Sie eine Instanz des Selenium-Webtreibers, zB
driver = Selenium::WebDriver.for :firefox
- Geben Sie den Befehl zum Aufrufen der URL ein, z. B. (Ruby)
driver.get "http://www.google.com"
- Überlegen Sie, ob ein direkter GET besser wäre als die Verwendung eines Browsers
Mehr Infos unterhttp://www.seleniumhq.org/docs/03_webdriver.jsp#setting-up-a-selenium-webdriver-project