안녕하세요. 멀더입니다.
NMHTTP component로 사이트 읽어와 결과를 파싱하고
image나 href 링크사이트를 구하기도하고, 그림들을 모두 저장하기도 하는
그런 프로그램입니다.
도움이 되시길 바랍니다.
// 코드의 일부... (프로젝트 소스를 첨부합니다.)
void __fastcall TfmMain::NMHTTP1Success(CmdType Cmd)
{
if (cbUrl->Items->IndexOf(cbUrl->Text) < 0)
cbUrl->Items->Add(cbUrl->Text);
if (NMHTTP1->CookieIn != "")
Memo4->Text = NMHTTP1->CookieIn;
//Memo1->Text = NMHTTP1->Header;
//Memo2->Text = NMHTTP1->Body;
Memo1->Lines->Add(NMHTTP1->Header);
Memo2->Lines->Add(NMHTTP1->Body);
Memo3->Lines->Add(NMHTTP1->Body + " Success");
switch(Cmd)
{
case CmdGET:
{
Memo3->Lines->Add("HTTP GET Successful");
if (NMHTTP1->Header.LowerCase().Pos("content-type: text") > 0)
{
Memo2->Lines->LoadFromFile(".\\Body.txt");
btnFileView->Enabled = false;
m_bText = true;
}
else
{
btnFileView->Enabled = true;
}
}
break;
case CmdPOST: Memo3->Lines->Add("HTTP POST Successful");
case CmdHEAD: Memo3->Lines->Add("HTTP HEAD Successful");
case CmdOPTIONS: Memo3->Lines->Add("HTTP OPTIONS Successful");
case CmdTRACE: Memo3->Lines->Add("HTTP TRACE Successful");
case CmdPUT: Memo3->Lines->Add("HTTP PUT Successful");
case CmdDELETE: Memo3->Lines->Add("HTTP DELETE Successful");
}
if (m_bText) ResultParse (Cmd);
StatusBar1->SimpleText = AnsiString(cbUrl->Text) + " success ...";
}
//---------------------------------------------------------------------------
질문 님이 쓰신 글 :
: 정말 어렵네요 --;;
:
:
http://www.aaaa.com
:
: 이라는 URL에 POST로 데이타를 넘겨주고 결과값을 받아와야 하는데,
: 마음대로 잘 안되네요,
:
: 여기 질답/강좌란을 하루종일 보고 있어도 컴파일 해도 제대로 동작을
: 안하는것 같고..
:
: 일단
:
: [1] CppWebBrowser 로 새창을 열어서 해당 URL 에 "QueryID=_ID" / "Value=_Val" 이렇게
: 두개의 값을 넘겨줘야 합니다. 그러면 결과값이 브라우저에 텍스트로 뜹니다.
:
: [2] NMHTTP->POST () 를 써봤는데, 잘 안되네요. 해당 URL 에 POST 로 값을 넘기면 데이타를
: 다시 클라이언트로 뽑아와야 하는데, [1] 의 경우와는 달리 이건 브라우저를 띄우고 보여줄 필요는
: 없고 클라이언트 내부에서 그 값들로 처리해서 TreeList 로 뿌려줄 생각입니다.
:
: 간단한 예제라도 부탁드리겠습니다.