C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[66116] Re:[질문] TCppWebBrowser POST방식으로 Web Page 열기 ??
빌더 [] 2030 읽음    2012-01-31 23:27
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    OleVariant URL = "http://www.google.com/";
    OleVariant FLAGS = 0;
    OleVariant FRAME = "_blank";

    String username = "xxx";
    String password = "yyy";
    String PostData = "username=" + username + "&password=" + password;

    OleVariant Header = "Content-Type: application/x-www-form-urlencoded\r\n";

    int Bound[2] = { 0, PostData.Length() + 1 };
    Variant vPostData = VarArrayCreate(Bound, 1, varByte);
    for(int i=1, k=0; i <= PostData.Length(); i++, k++) {
        VarArrayPut(vPostData, PostData[i], &k, 0);
    }
    this->CppWebBrowser->Navigate2(URL, FLAGS, FRAME, vPostData, Header);
    VarClear(vPostData);
}

위와 같은 식으로 해보면 실제적으로 웹서버로 보내진 HTTP Request 패킷이 POST 형태 라는
것을 첨부한 그림을 통해서 알수 있을 겁니다.

C++ 빌더는 Variant 타입 인덱스에 대한 operator 오버로드를 별도로 제공해 주고있지 않기 때문에
스트링을 varByte 타입으로 변환 할 때 델파이와 달리 C++ 에선 위와 같은 식으로 처리할 필요가
있습니다. 웹서버 쪽에서의 닷넷 Active Server Page 코드는 생략합니다.

+ -

관련 글 리스트
66094 [질문] TCppWebBrowser POST방식으로 Web Page 열기 ?? 땅주인 1982 2012/01/30
66116     Re:[질문] TCppWebBrowser POST방식으로 Web Page 열기 ?? 빌더 2030 2012/01/31
66117         Re:Re:[질문] TCppWebBrowser POST방식으로 Web Page 열기 ?? 땅주인 2033 2012/01/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.