Microsoft MVP성태의 닷넷 이야기
[질문] IWebBrowser2로 POST값 구하기 [링크 복사], [링크+제목 복사],
조회: 15188
글쓴 사람
박용운 (sialnuri at yahoo.co.kr)
홈페이지
첨부 파일

안녕하세요?
저번에 자동로그인한다고 메일로 문의드렸던 놈(?)입니다.
COM에 대한 지식이 없어서 노가다로 문제해결하고 있는데 막히는 부분이 있어 몇자 남깁니다.
POST값을 알고있다는 전제하에서 Navigate로 POST로 전송하는것은 하루죙일 자료 찾아서 구현했는데
실제로, POST값을 읽어오는것이 쉽지않네요.

코드프로젝트에서 소스를 하나구해서 보는데 잘옮겨지지가 않네요. T.T
음..BHO를 사용하는 IEHelpr소스 아시죠?
그곳에 붙이고있는데 잘안됩니다.

POST로 값읽어오는거랑 실제 POST값이 넘어갈 URL읽어오는거 알려주시면 안될까요?
음..아니면 힌트라두..??

부탁드릴께요. 그럼..

첨부하는 소스는 코드프로젝트에서 다운받은거랍니다.









[최초 등록일: ]
[최종 수정일: 7/19/2003]


비밀번호

댓글 작성자
 



2003-07-18 06시02분
OnBeforeNavigator2 이벤트를 보시고, 넘어오는 인자를 확인하시면 됩니다.
생각보다 간단하지요. ^^
정성태
2003-07-18 06시02분
알려주신데로 이벤트관련해서 보고있는데 생각만큼 잘안되는군요.
IEHelpr에서 하고있는데 이곳에 보면
Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pvarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr)
Invoke함수가 있고 이곳에서 이벤트를 제어하는것으로 생각됩니다.
case문중에 DISPID_BEFORENAVIGATE2가 있길래 이곳에서 파라미터로 넘어온 값들을 디버깅하면서 보는데 잘안되는군요.
하긴, 기본도 없이 맨땅에 하려니 벅차군요.
pDispParams파라미터 2번째 pDispParams->rgvarg[2]에 POST data값이 들어오는것 같은데 그냥은 아니고 형변환을 해야되는것 같은데 이부분에서 잘안됩니다.
어떻게 해야되는지요? 이부분만 알려주세요.
그냥 알려주시는것이 그렇다면 pDispParams구조체나 VARIANT구조체 변수들을 실제적으로 어떻게 활용하는지 알려주시면 제가 나름대로 시도해보겠습니다.
부탁드리겠습니다.
박용운
2003-07-18 06시02분
HOWTO: Handle Data from a Post Form When Hosting WebBrowser Control

라는 토픽으로 MSDN Library 에서 검색해 보세요.
답이 있습니다. ^^
정성태
2003-07-18 06시02분
감사합니다.
드뎌 POST값 읽어오는거 해결했습니다.
IEHelpr의 경우 파라미터로 VARIANT * PostData가 없어 조금 적용하는데 시간이 걸리긴 했지만요.
디버깅을 통해서 PostData에 해당되는것이 pDispParams->rgvarg[2].pvarVal이고
실제 POST값은 pDispParams->rgvarg[2].pvarVal->pvarVal->parray이곳에 들어있더군요.

앞으로 완전히 구현할려면 서버쪽도 같이하여 며칠 더 걸리겠지만 앞으로는 크게 어려운부분이 없으니...^^

이쪽으로 경험이 없어 아침에 와서 조금 헤매긴했지만 이렇게 찾고나니 마음은 가뿐하네요.
운영자님의 도움이 절대적이었네요.
다시 한번 감사드립니다.
박용운

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5968orion4/30/2025222winform DataSet.xsd의 암호화 된 ConnectionString 사용 질문 [1]
5966GM B4/30/2025246C#과 python 연동 질문 [1]
5962SunN...4/21/2025553Contextmenu margin 조절 [1]파일 다운로드2
5961GM B4/10/2025947winform => wpf 마이그레이션 방법 질문 [4]파일 다운로드1
5960Kim ...4/9/20251209안녕하세요.. 혹 AI & C# 에 대해서도 다루시나요? [1]
5959vict...2/10/20251900비주얼 스투디오 CLR 코드 탑색 질문입니다. [1]
5958Supe...1/18/20252878C#으로 DLL을 만들때 WebVeiw2을 이용하여 Vb6에서 사용할수 있는지 문의드립니다. [2]
5956fc1/11/20252875한국투자증권 KIS Developers OpenAPI의 C# 래퍼 버전 - eFriendOpenAPI NuGet 패키지 [1]
5955tree...11/8/20244510C#12 책 179 페이지 문의 사항 [2]
5954SunN...10/10/20244984textbox에서 글자입력후 textBox1_KeyUp함수에서listBox1_SelectedIndexChanged 강제호출방법 [1]
5953Roya10/4/20244966c# com host dll을 c++에서 사용할 때, sdk 관련 runtime 을 설치 안하고 제공할수 있을까요?? [1]
5952우광현9/5/20246080서버용 소켓 포트 동적포트 적용시 클라이언트가 호출하는 방법? [2]
5951Kun ...8/21/20245697c++에서 복합데이터 Struct를 .NET Framework에서 구현할 수 있는 방법이 있을까요? [2]
5950SunN...8/18/20246267정석대로 한다면 response.Close() 해야되는지요? [4]
5949SunN...8/16/20246359SqlConnection Open()에서 에러가나면 Close()하는 시점 [3]
5948SunN...8/14/20246225WebRequestMethods.Ftp.MakeDirectory 해제 [3]
5947Roya8/7/20247002c# dll을 cpp lib에서 사용을 할려고 하는데요. CoCreateInstance 에서 지정된 파일을 찾을수 없다고 나오는대요. [4]
5946SunN...8/5/20247108TaskDefinition 에서 사용저가로그온상관없이실행 [3]파일 다운로드1
5945SunN...8/3/20246972윈도우 작업스케줄러 [1]
5944roya8/1/20246919C# dll을 C++ 프로젝트에서 사용을 하고 싶은데, 레지스트리 등록 없이 가능한걸까요?? [2]
5943SunN...8/1/20246803윈도우C#에서 리눅스FTP로 업로드 및 리눅스에 폴더생성(WindowsOS에서C#으로) [3]
5942vict...7/24/20246835dll 을 c#에서 쓰고 싶습니다 [1]
5941vict...7/17/20248332DependencyObject와 같은 스레드에서 DependencySource를 만들어야 합니다. 오류 [2]
5940ckm7/16/20248747선생님 안녕하세요 async await 교착 관련 질문입니다 [1]
5939괴물신인7/9/20248430템플릿 대체할수있는방법이 있을까요? [6]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...