|
Q 1>
아래와 같이 했습니다.
FhReq = HttpOpenRequest(FhConnect,
"POST",
"",
"HTTP/1.1",
"",
NULL,
INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_CACHE_WRITE,
0);
네번째 para가 HTTP Version 이라 되어 있더군요.
1.0은 Connection에 대한 Keep Alive(접속유지)를. 서버측에서 지원하지
않는 다는 말이 있더고 1.1 부터 지원을..
그래서 저의 짧은 소견으로 저렇게 "HTTP/1.1"을 넣으면 되지 않을까 해서
했는데. 변함없이 HTTP/1.0 으로 찍혀 나갑니다.(HTTP Trace로 찍어본 결과)
잘 못 쓴 것일까요? 아님 다른 flag을 Set해줘야 하는 것입니까?
Q 2>
이렇게.
char szLength[30];
DWORD dwLength;
if ( !HttpQueryInfo (FhReq, HTTP_QUERY_CONTENT_LENGTH , (LPVOID)&szLength,
&dwLength, NULL))
{
InternetCloseHandle (FhReq);
InternetCloseHandle (FhConnect);
InternetCloseHandle (FhOpen);
return -1;
}
사용했습니다. 서버측에서 보낸 Content-Length 를 구하기 위해서요.
물론 Trace로보면.
-------- 11:49:33 (6-3) --------
HTTP/1.1 200 OK
Content-Type: text/html
Cache-Control: private
Content-Length: 2545
서브가 이렇게 잘 Content-Length를 줍니다.
그런디 이걸 읽으려니 .. 몬읽어요. dwLength에 엄청나게 큰 숫자가...
울트라 고수님들의 고견 부탁합니다.
|