게시판 본문 ASP, ASP.NET, IIS & Script - Read Only

정보문님, RD 페이지에 관한 두 번째 기능이 완료되었습니다.
작성자: 송원석
작성일시: 2004-07-31 11:49,  조회수: 3,180
일단 오류의 원인부터 말씀드리자면 이 오류는 보안과 관련된 문제가 아니라 전송 방식의 차이점에 의한 오류였습니다. 즉 첫 번째 방식은 자바스크립트로 URL 뒤에 문자열을 붙여서 전송하는 GET 방식이었던 반면 문제가 되는 페이지는 POST 방식을 사용한 페이지입니다. 그래서 Navigate2() 메소드를 다루는 다른 방법이 필요했던 거지요. 아무튼 먼저 다음의 비주얼 베이직 파일을 다운로드 받으시기 바랍니다. ^_^;;

    http://www.egocube.pe.kr/StorageVersion1/Misc/20040731_01_NEIS_Browser.zip

따라서 앞으로도 RD 관련 페이지를 조작하실 때는 자바스크립트를 면밀히 살펴보시고 GET 방식을 사용하는지, POST 방식을 사용하는지를 구분하셔야 합니다. 자바스크립트의 코드중에서 submit() 메소드를 찾을수 있다면 아마 대부분 POST 방식일 것입니다. 보다 자세한 내용은 MSDN 에서 보실 수 있지만 Navigate2() 메소드를 사용하면 POST 방식으로나 GET 방식으로 원하는 URL 로의 이동이 가능합니다. 다만 이 두 가지 경우의 사용 방법이 조금씩 다른데, 먼저 GET 방식은 다음과 같이 사용합니다.
objWBMain.Navigate2 [쿼리스트링까지 포함한 URL], 0, [타겟 프레임의 이름]
사실 저번에 보내드린 코드에서는 이 뒤에도 필요없는 인자가 몇 개 더 있었지만 원래 GET 방식인 경우에는 위의 인자들 만으로도 충분합니다. 그런데 POST 방식의 경우에는 조금 더 복잡해집니다.
objWBMain.Navigate2 [쿼리스트링이 없는 URL], 0, [타겟 프레임의 이름], _
                                [바이트 배열로된 POST 할 데이터], _
                                [POST 를 지정하는 헤더값]
그래서 소스에서 보실 수 있는 것과 같은 코드가 생성되는 것입니다. 바이트 배열로된 POST 할 데이터는 일단 일반적인 쿼리스트링처럼 이름과 값을 = 과 & 로 이어서 만든 문자열을 다시 바이트 배열 형태로 만들면 되는데 그래서 소스 코드를 보시면 BuildPostData() 라는 Sub 프로시저가 사용된 것입니다. BuildPostData() 라는 Sub 프로시저는 제가 시간이 없어서 인터넷에서 아무거나 다운받은 것으로 정보문님께서 손을 좀 보셔야 할 것입니다. 예를 들자면 이 프로시저는 한글을 고려하지 않은 것이죠. 그래서 저는 일단 임시 방편으로 학생의 이름 같은 한글 값들을 URL 인코딩해서 넘겼습니다. 그리고 마지막의 POST 를 지정하는 헤더값은 언제나 'Content-Type: application/x-www-form-urlencoded' 로 지정해주시면 되구요, 마지막에 CRLF 를 붙이시는 것을 잊지마십시요. ^_^

로그인을 하시고 '학교생활기록부개인별조회' 에서 'RD 데이터 페이지 2' 버튼을 누르시면 RD 의 데이터 페이지를 보실 수 있을 것입니다. 저는 정보문님께서 올려주신 데이터로 전송을 해보았는데 내용에 오류가 나기는 하지만 RD 데이터 페이지 자체는 잘 출력되므로 넘기시는 인자들만 잘 조정하시면 될 것 같습니다.

감사합니다.
IP 주소: 152.99.132.13
전체 1 건의 댓글이 존재합니다.

정보문

감사합니다. 월요일까지는 질문 올리지 않겠습니다. 알려주신대로 여러가지 공부하는 것만으로도 시간이 없을 것 같군요.
2004-07-31 12:30
전체 2,095 건의 게시물, 84 페이지로 구성된 ASP, ASP.NET, IIS & Script 게시판의 64 페이지입니다.
게시물
542

사용자 또는 관리자에 의해 삭제된 글입니다.

Anonymous

2004-09-01 0
541

re: 생활기록부 출력페이지에서

송원석

2004-08-04 2,571
539

성적통지표 (마지막) [3]

정보문

2004-08-04 2,505
538

성적통지표 2

정보문

2004-08-04 2,621
537

re: 성적통지표 2

송원석

2004-08-04 2,596
536

새폴더 생성하는데 사용권한이 없대요... [1]

ㅠ.ㅠ

2004-08-04 2,577
535

re: 새폴더 생성하는데 사용권한이 없대요...

멋진혀니

2004-08-13 719
534

성적 통지표...ㅜ.ㅜ [1]

정보문

2004-08-03 2,436
533

re: 성적 통지표...ㅜ.ㅜ

송원석

2004-08-03 2,618
532

오랜만 입니다..

궁금이

2004-08-03 694
531

re: 오랜만 입니다..

송원석

2004-08-03 2,866
530

패킷으로 가져오는 Rd 자료 [2]

정보문

2004-08-03 2,474
529

어떻게 get 을 할까요? [3]

정보문

2004-08-03 2,619
528

re: 어떻게 get 을 할까요? [3]

정보문

2004-08-03 2,420
527

re: 어떻게 get 을 할까요?

송원석

2004-08-03 2,392
526

neis 관련자료 삭제를 부탁합니다. [2]

정보문

2004-08-02 2,441
525

생활기록부 RD 2 [6]

정보문

2004-08-02 2,601
524

re: 생활기록부 RD 2 [3]

송원석

2004-08-02 2,555
523

생활기록부 RD

정보문

2004-08-02 3,041

정보문님, RD 페이지에 관한 두 번째 기능이 완료되었습니다. [1]

송원석

2004-07-31 3,180
521

re: 정보문님, RD 페이지에 관한 두 번째 기능이 완료되었습니다.

정보문

2004-08-01 2,425
520

희망

정보문

2004-07-31 3,072
519

정보문님, 특정 페이지를 원할때 갱신할 수 있는 기능이 완료되었습니다. [1]

송원석

2004-07-30 2,625
518

re: 정보문님, 특정 페이지를 원할때 갱신할 수 있는 기능이 완료되었습니다.

정보문

2004-07-30 2,347
517

생기부 요약

정보문

2004-07-30 2,546