|
김태우 님이 쓰신 글 :
: IdHTTP1->Request->Connection ="keep-alive";
: IdHTTP1->Request->UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11";
: IdHTTP1->Request->ContentType = "application/x-www-form-urlencoded";
: IdHTTP1->Request->Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
: IdHTTP1->Request->AcceptEncoding = "gzip,deflate,sdch";
: IdHTTP1->Request->AcceptLanguage ="ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4";
: IdHTTP1->Request->AcceptCharSet = "windows-949,utf-8;q=0.7,*;q=0.3";
:
: request->AddFormField("test01",userID->Text);
: /request->AddFormField("test02",userPW->Text);
: request->AddFormField("WKK","");
: IdHTTP1->Post(url, request, response);
: response->Position = 0;
: this->Memo1->Lines->Add(response->DataString.c_str());
: 이렇게 코딩 하였습니다..
:
: 그런데 자꾸..패킷을 캡쳐해보면...
:
:
: Connection: keep-alive
: Content-Type: multipart/form-data; boundary=--------022012113736598
: Content-Length: 104
: Host: seowon.seowon.ac.kr
: Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
: Accept-Charset: windows-949,utf-8;q=0.7,*;q=0.3
: Accept-Encoding: gzip,deflate,sdch, identity
: Accept-Language: ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4
: User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
:
: ----------022012113736598
:
:
: 이렇게 캡쳐가 됩니다...
:
: Content-Type 이 멀티 타입으로요... 이유가 무엇인지요..?
답변:
AddFormField()를 사용한 걸 보니까... TIdMultiPartFormDataStream 클래스를 이용한 것 같은데...
그렇게 되면... Indy 프레임웍에서 POST Request 패킷을 보낼 때... Request Header의 Content-Type을
multipart/form-data 타입으로 결정해서 보내게 되니까... Web Server에서 Response 패킷을 보내줄 때도
Conenet-Type을 multipart/form-data 타입으로 보내주게 되는 거죠. 당연한거 아닌가요? 질문의 의도가 뭔지...
|