• Home
  • Forum
[레벨:9]운영자 (*.227.77.236) 2010-07-28 00:06 조회 수 11945 댓글 수 0 추천 수 0

다이얼로그웹브라우저 컨트롤CWebBrowser2를 삽입하고,


CWebBrowser2 에 쿠키를 설정하려고 했으나 실패(CInternetSession과 연결 시도 실패)하고,


결국 POST 방식으로 하려했으나....여러번 실패 끝에 성공을 하였다.


Post Data를...일반 문자열 BSTR이 아닌 VT_ARRAY로 해야하는 것을 간신히 찾았다.


참고로 m_ctlWebBrowser의 형은 다음과 같다.


    CWebBrowser2    m_ctlWebBrowser;


--------------- 소스 --------------- Written by dukgun.com(덕근닷컴)


    CString strUrl = _T("http://www.dukgun.com/test.asp");
    CString strHeader = _T("Content-Type: application/x-www-form-urlencoded\r\n");    // _T("")으로 해도 됨
    CString strPostData = _T("id=yunskorea&passwd=1234");  // POST 데이터


    // HTTP 헤더
    VARIANT vHeader;
    vHeader.vt = VT_BSTR;
    vHeader.bstrVal = strHeader.AllocSysString();


    // POST 데이터 변환
    SAFEARRAY FAR *sfPost = NULL;
    SAFEARRAYBOUND bound;
    bound.cElements = strPostData.GetLength();//_tcslen(strPost);
    bound.lLbound = 0;
    sfPost = SafeArrayCreate(VT_UI1, 1, &bound);
    for (long lIndex = 0;lIndex < (signed)bound.cElements;lIndex++)
    {
        SafeArrayPutElement(sfPost, &lIndex, strPostData.GetBuffer(bound.cElements)+lIndex);
    }
    strPostData.ReleaseBuffer();
   
    VARIANT vaPost;
    vaPost.vt = VT_ARRAY;
    vaPost.parray = sfPost;


    m_ctlWebBrowser.Navigate(m_strURL,0,NULL,&vaPost,&vHeader);


    SafeArrayDestroy(sfPost);


--------------------------


POST 데이터를 VT_ARRAY형이 아닌 VT_BSTR로 할 경우...


POST 방식이 아닌 GET 방식으로 호출되어, POST 데이터를 아예 인식 못하게 된다.



                                                                                              -- Written by dukgun.com(덕근닷컴) --

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수 추천 수
공지 라이브툴즈 서비스오픈 안내 file [레벨:9]운영자 2011-12-12 18870  
182 ANSI 문자열에서 유니코드로의 변환 방법 [레벨:9]운영자 2010-10-04 11977
181 [해결법] error C2065: 'wsprintfW_instead_use_StringCbPrintfW_or_StringCchPrintfW' : undeclared identifier [레벨:9]운영자 2010-09-20 11491
180 [해결법] error C2065: 'strcpy_instead_use_StringCbCopyA_or_StringCchCopyA' : undeclared identifier [레벨:9]운영자 2010-08-30 11414
179 POST 방식으로 웹에 데이터 전송 후 페이지 내용 얻기(VC6.0버전) file [레벨:9]운영자 2010-07-28 12056
» POST 방식으로 데이터 전송 [레벨:9]운영자 2010-07-28 11945
177 CString → BSTR 변환 [레벨:9]운영자 2010-07-26 16341
176 POST 방식으로 쿼리(DATA) 전송 [레벨:9]운영자 2010-07-26 12842
175 uuid.lib(ocidl_i.obj) : fatal error LNK1103: debugging information corrupt; recompile module 해결책 [레벨:9]운영자 2010-07-26 19640
174 바탕화면 경로얻기 [레벨:9]운영자 2010-07-20 22093
173 URL Encode / Decode [레벨:9]운영자 2010-07-05 19424


XE Login