도서관 검색 창 입력폼에 대한 분석.
파이썬에서 webdebug 를 이용, 브라우저가 전송하는 GET, POST 값을 분석했다.
(http://www.cyberclip.com/webdebug/index.html, http://sourceforge.net/projects/webdebug)
(http://www.cyberclip.com/webdebug/index.html, http://sourceforge.net/projects/webdebug)
또는 웹 필터 프로그램인 Proxomitron 을 이용할 수도 있다. (http://proxomitron.cjb.net/) 개인적으로는 webdebug 가 더 해당 폼 값/헤더 값만 보기엔 편했던걸로 기억.
도서관 서버 ¶
- Server: Apache/1.3.22 (Win32) mod_jk
- Servlet-Engine: Tomcat Web Server/3.2.1 (JSP 1.1; Servlet 2.2; Java 1.3.1_01; Windows 2000 5.0 x86; java.vendor=Sun Microsystems Inc.)
- Content-Type: text/html;charset=MS949
다른건 둘째치고, 제발 안정화되어서 검색 좀 제대로 되었으면 좋겠다. -_-; 젠장 검색이 되야 뭘 분석을 하던지 하지.
창 입력 폼 ¶
- USERID 는 아무값이나 넣어줘도 상관이 없되, 내용이 없으면 안됨.
- 같은 POST 커맨드라 하더라도 IP가 다르면 결과값이 나오지 않는다. (이로 볼때 서버 내부에서 IP와 History 가 연관되어 저장된다.)
- 한번 검색 하고 다음 페이지가 넘어갈때는 HISNO 의 값이 유지되고, SEQNO 가 증가한다.
~cpp import httplib, urllib params={'LIBRCODE': 'ATSL', 'SYSDB': 'R', 'USERID': '*', 'cmdexprs': 'TI=XML', #'cmdsrch': '\xb0\xcb \xbb\xf6', #'maxdisp': '10', #'operator1': '&', #'srchitem1': 'TI', #'srchitem2': 'AU', #'srchitem3': 'KW', #'srchitem4': 'IB', #'srchitem5': 'AN'} } headers = {"Content-Type":"application/x-www-form-urlencoded", "Referer":"http://165.194.100.2/cgi-bin/mcu100?LIBRCODE=ATSL&USERID=*&SYSDB=R", "Accept":"image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*"} def getSrchResult(headers,params): params=urllib.urlencode(params) conn = httplib.HTTPConnection("165.194.100.2:80") conn.request("POST", "/cgi-bin/mcu200", params, headers) response = conn.getresponse() print response.status, response.reason data = response.read() conn.close() return data def getSrchResult2(params): params=urllib.urlencode(params) f = urllib.urlopen("http://165.194.100.2/cgi-bin/mcu200", params) return f.read()
(임시로 잠시 여기에 쓴 중)
For View Page 들 관련 양식 ¶
등록페이지 양식 정의
사용자 정보 ( 필수 사항 구분 )
이름, ID, Password
중대 도서관 ID, Password이름, ID, Password
마이페이지
Search 링크
로그아웃 양식Search링크
로그아웃 버튼
검색 리스트의 양식로그아웃 버튼
책 정보 페이지 양식
서지번호 ( key 값이 된다.)
서명저자
출판사
ISBN
저자명
저자면
분류기호
소장정보확인
소장 도서관(현재 제 1만)
소장위치, 등록번호, 청구기호, 자료현황, 반납예정일
서명저자
출판사
ISBN
저자명
저자면
분류기호
소장정보확인
소장 도서관(현재 제 1만)
소장위치, 등록번호, 청구기호, 자료현황, 반납예정일
새로 바뀐 폼 ¶
~cpp 검색 부분 : http://www.lib.cau.ac.kr/search/search_200.jsp? now=2 - 현재 페이지 번호 &pKeyWordC=%28+%28-TI-+WITH+%28extreme+programming+%29+.TXT.%29++%29 - 검색 관련 키워드 &pSort0=(SOTI/-SOTI) - 서명소트 &pSort1=(SOAU/-SOAU) - 저자소트 &pSort2=(SOPU/-SOPU) - 출판사 소트 &pSort3=(PUYE/-PUYE) - 출판년도 소트 &pSgubun=(Y/N) - 결과내 정렬 &pSGubun=3 - 검색방법 3번 &SYSDB=R &pAtdb=SLDB &iSNo=1 - 처음 보여주는 페이지 리스트에서의 첫번째 번호.