Linux에서 패키지등을 다운 받을때 많이 쓰는 명령어 wget이 있다. HTTP와 FTP를 통해 단순한 다운로드 뿐만 아니라 상당히 다양한 옵션들을 지원한다. man을 통해 설명을 보면 매우 많은 옵션과 기능들이 있다.

생각 이상으로 많은 기능을 지원하여, 전문 다운로드 프로그램을 능가하는 많은 기능을 가지고 있다.

우선 Fidder 같은 HTTP 세션 분석 프로그램을 이용하거나 소스코드를 봐서 어떤식으로 로그인을 구현하였는지 확인한다. POST로 데이터를 넘겨 줄 수 도 있고, 쿠키도 사용 가능하다. 따라서 세션을 유지하는 것도 가능하게 된다.

아래는 post 방식으로 로그인 한 다음 해당 쿠키(세션)을 가지고 출석 페이지를 호출 하는 명령을 내리는 쉘 스크립트이다. 저장 후 실행 가능한 Attribute를 지정한후 수행하면 된다.

wget --post-data='userId=[사용자아이디]&userPass=[암호]' --cache='on' --keep-session-cookies --save-cookies='cookie' -O  /dev/null [로그인 URL]
wget --cache='on' --keep-session-cookies --load-cookies cookie -O /dev/null [출석 체크 페이지 URL]

rm cookie


-O는 출력 파일이다. 다운로드 파일을 만들지 않기 위해서 /dev/null을 사용한다.

쉘 프로그래밍에 능숙하다면 다양한응용이 가능할 듯하다.

매일 수행되도록 한다면 /ect/cron.daily/ 디렉토리에 스크립트 파일을 넣어 두면 된다.

참고로 wget은 GPL로 소스가 공개되어 Win32 용 컴파일해 윈도우에서도 사용 가능하다.
따라서 배치파일 또는 VB Script등으로 만든 다음 [제어판]-[예약된 작업]에 등록하여 똑같이 활용 할 수 있다.

신고
크리에이티브 커먼즈 라이선스
Creative Commons License


티스토리 툴바