数分ごとにパブリック IP アドレスをデータベースに記録するものを作成しようとしています。
私はすでに、読み込まれるたびに閲覧者の IP を記録する Web ページを開発しました。
定期的にバックグラウンドでページを読み込む cron ジョブを設定したいと思います。cron ジョブの設定方法はわかっていますが、コマンド ラインからバックグラウンドで Web ページを読み込む方法がわかりません。
これをどうやって実行しますか?
答え1
おそらく、ページはユーザー エージェントが実際にはブラウザーである必要がないように開発されています。その場合は、コマンドを使用してcurl
ページを取得するだけです。
これを cron ジョブとして実行している場合、コマンドで出力を印刷しないようにする必要があります。これを行うには、--silent
curl の オプションを使用し、出力を にリダイレクトして HTTP 応答を破棄します/dev/null
。たとえば、次の cron ジョブを追加して、10 分ごとにページを取得します。
*/10 * * * * curl --silent http://example.com/path/to/page curl >/dev/null
より効率的にしたい場合は、リクエストHEAD
だけでなく HTTP リクエストにも応答するように Web ページを開発することができますGET
。こうすることで、サーバーとクライアントの間で HTTP ヘッダーのみが送信されるようになりますcurl -I
。
答え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#selenium-webdriver プロジェクトの設定