몇 분마다 내 공개 IP 주소를 데이터베이스에 기록하는 무언가를 만들려고 합니다.
나는 로드될 때마다 뷰어의 IP를 기록하는 웹페이지를 이미 개발했습니다.
백그라운드에서 주기적으로 페이지를 로드하는 cron 작업을 설정하고 싶습니다. cron 작업을 설정하는 방법을 알고 있지만 명령줄에서 백그라운드로 웹 페이지를 로드하는 방법을 모르겠습니다.
이 일을 어떻게 하시겠습니까?
답변1
아마도 페이지는 사용자 에이전트가 실제로 브라우저일 필요가 없도록 개발되었을 것입니다. 이 경우 간단히 curl
명령을 사용하여 페이지를 가져올 수 있습니다.
cron 작업으로 실행하는 경우 명령이 출력을 인쇄하는 것을 원하지 않습니다. 이를 사용하려면 --silent
컬 옵션을 사용하고 출력을 로 리디렉션하여 HTTP 응답을 삭제합니다 /dev/null
. 예를 들어, 10분마다 페이지를 가져오려면 다음 cron 작업을 추가하세요.
*/10 * * * * curl --silent http://example.com/path/to/page curl >/dev/null
보다 효율적이기를 원한다면 요청 HEAD
뿐만 아니라 HTTP GET
요청에도 응답하도록 웹 페이지를 개발할 수 있습니다. 이렇게 하면 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