1. 윈도우 응용프로그램(C++ Builder4)에서 TCPIP 소켓통신으로 DB에 데이터를 전송합니다.
2. 사용자는 웹브라우저로 웹서버(본사제작이 아님)에 로그인하여 송신된 DB데이터를 한단계 입력을 더 거친 후 프린터 출력합니다.
2번 절차를 윈도우 응용프로그램(C++ Builder4)에서 바로 처리하여 프린터 출력하고자 하는데..
TNMHTTP를 사용하여 아래와 같이 상대방 웹에 POST메쏘드로 데이터를 보내 [로그인]까지는 성공하였고
이 세션정보로 해당 확인 페이지를 불러야 하는데 어떻게 처리해야 하는지 궁금합니다.
로그인 성공시 서버는 Session("User_ID")를 생성합니다.
NNMHTTP에는 세션이란 속성이 없던데,, MHTTP1->CookieIn의 속성에 세션정보가 저장되는지요?
아래처럼 처리하니 {시간이 만료되었습니다. \n\n 다시 로그인해주세요}라고 나옵니다.
Q&A에는 대부분 로그인만 나와 있고...이 후 처리는 문의하신분이 없는 지라...
AnsiString myCookie;
//////////로그인! 요때 서버는 Session("User_ID")를 생성함...
void __fastcall TForm1::LoginClick(TObject *Sender)
{
AnsiString S;
S = "action=login.asp&User_ID=username&User_PWD=pass";
NMHTTP1->Post("
http://211.240.124.XXX/login.asp", S);
}
//// 사용자 확인(해당 확인 페이지를 불러야 하는데....)
void __fastcall TForm1::ConfirmClick(TObject *Sender)
{
AnsiString S;
S = "action=emp_list.asp&User_ID=" + myCookie; =>요게 맞는지..
NMHTTP1->Post("
http://211.240.124.XXX/emp_list.asp", S);
NMHTTP1->Post("www.kotsa.or.kr", S);
}
void __fastcall TForm1::NMHTTP1Success(CmdType Cmd)
{
if (NMHTTP1->CookieIn != ""){
Memo4->Text = NMHTTP1->CookieIn;
Memo1->Text = NMHTTP1->Header;
Memo2->Text = NMHTTP1->Body;
myCookie = NMHTTP1->CookieIn;
}
}
///////////////////////여긴 서버쪽 소스 받은것...로그인 성공시 세션부여
Session("User_ID")=rs("ID")
///////////////////////여긴 서버쪽 소스 받은것...http://211.240.124.XXX/emp_list.asp의 세션확인
<%
If session("User_ID") = "" Then
%>
<% else %>
.
.
.
.
.