
数分ごとに私のパブリックIPアドレスをデータベースに書き込む機能を作成しようとしています。
私はロードされるたびに視聴者のIPを記録するWebページを開発しました。
定期的にバックグラウンドでページをロードするcronジョブを設定したいと思います。 cronジョブを設定する方法はわかっていますが、コマンドラインからバックグラウンドでWebページをロードする方法はわかりません。
あなたは何をしますか?
答え1
おそらく、ページはユーザーエージェントが実際にブラウザである必要がないように開発されたでしょう。この場合、このcurl
コマンドを使用してページをインポートできます。
これをクローンジョブとして実行する場合、コマンドは出力を印刷したくありません。これを行うには、--silent
カールオプションを使用して出力をリダイレクトしてHTTP応答を削除します/dev/null
。たとえば、10分ごとにページをインポートするには、次のクローンアクションを追加します。
*/10 * * * * curl --silent http://example.com/path/to/page curl >/dev/null
より効率的である場合は、HTTPHEAD
リクエストとHTTPGET
リクエストの両方に応答するようにWebページを開発できます。これにより、curl -I
サーバーとクライアント間でHTTPヘッダーのみを転送できます。
答え2
- プログラミング言語の選択 - Ruby、Python、Java、またはC#
- たとえば、Selenium webdriverのインスタンスを作成します。
driver = Selenium::WebDriver.for :firefox
- URLにアクセスするコマンドの作成(例:(Ruby))
driver.get "http://www.google.com"
- ブラウザを使用するよりも直接GETが優れているかどうかを検討してください。
より多くの情報が必要な場合は訪問してくださいhttp://www.seleniumhq.org/docs/03_webdriver.jsp#setting-up-a-selenium-webdriver-project