|
// *********************************************************
// HTTP GET (BODY部の取得)
// 戻り値 : true 成功, false 失敗
// *********************************************************
BOOL LboxWininet::HTTPGet( LPTSTR lpTarget, LboxString *LData )
{
HINTERNET hHttp;
if ( this->hConnect == NULL ) {
return false;
}
hHttp = HttpOpenRequest(
this->hConnect,
NULL,
lpTarget,
"HTTP/1.1",
NULL,
NULL,
INTERNET_FLAG_RELOAD | INTERNET_FLAG_KEEP_CONNECTION,
0
);
if ( hHttp == NULL ) {
return false;
}
if ( !( HttpSendRequest( hHttp, NULL, 0, NULL, 0 )) ) {
InternetCloseHandle( hHttp );
return false;
}
BOOL bLoop;
DWORD dwByte;
DWORD dwOffset;
DWORD nLen;
dwOffset = 0;
nLen = LData->nLboxString;
bLoop = true;
while( bLoop ) {
bLoop = InternetReadFile(
hHttp,
LData->szLboxString + dwOffset,
nLen,
&dwByte
);
if ( dwByte == 0 ) {
break;
}
LData->szLboxString[dwOffset+dwByte] = 0x00;
LData->Resize( LData->nLboxString + MAX_PATH );
dwOffset = dwOffset + dwByte;
nLen = MAX_PATH;
}
InternetCloseHandle( hHttp );
return true;
}
| |