[개발/VC++] 인터넷에 쿼리요청 보내기 / HttpSendRequest
QueryInternet : 인터넷에 쿼리요청 보내기 / html 코드 받아오기
1. 함수 원형
BOOL QueryInternet(const char *szAddress,UINT nPort,UINT nQuery)
2. 인자 설명
szAddress : 쿼리 요청을 보낼 주소
nPort : 포트번호
nQuery : 쿼리 횟수
3. 헤더 파일
wininet.h (?)
BOOL QueryInternet(const char *szAddress,UINT nPort,UINT nQuery)
{
/*
Return -1 : 포트번호입력오류
Return 2 : InternetOpen() 함수에러
Return 3 : InternetConnect() 함수에러
Return 4 : HttpOpenRequest() 함수에러
Return 0 : 정상
*/
if(nPort<=0 || nPort>65535)
{
return -1;
}
HINTERNET hIOpen = InternetOpen("TestWeb",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
if ( hIOpen == NULL )
return 2;
UINT i;
for(i=0;i<nQuery;i++)
{
HINTERNET hIConnect = InternetConnect(hIOpen,szAddress,nPort,NULL,NULL,INTERNET_SERVICE_HTTP, 0, 0);
if ( hIConnect == NULL )
{
InternetCloseHandle(hIOpen);
return 3;
}
// Request the file from the server.
//LPCTSTR ppszAcceptTypes = "text/*" ;
HINTERNET hIReq = HttpOpenRequest(hIConnect,
NULL, // "Get"
NULL,
(LPCSTR)HTTP_VERSION,
NULL, //(LPCSTR )csUrlCon,
NULL,//&ppszAcceptTypes,
INTERNET_FLAG_RELOAD|INTERNET_FLAG_NO_CACHE_WRITE,
0);
if ( hIReq == NULL){
InternetCloseHandle(hIConnect);
InternetCloseHandle(hIOpen);
return 4;
}
// Send the request.
HttpSendRequest(hIReq, NULL, 0, NULL, 0);
BYTE pBuffer[8192]={0,};
DWORD dwBytesRead;
InternetReadFile(hIReq,pBuffer,8192,&dwBytesRead);
// Close all of the Internet handles.
InternetCloseHandle(hIReq);
InternetCloseHandle(hIConnect);
}
InternetCloseHandle(hIOpen);
}
반응형
'IT-개발,DB' 카테고리의 다른 글
[개발/MFC] 파일크기 구하기 (대용량 파일크기도 가능) (0) | 2012.01.30 |
---|---|
[개발/PHP] 웹 가계부 소스 공개 (0) | 2012.01.29 |
[개발/API] 웹에 있는 파일크기 알아오기 (0) | 2012.01.27 |
[개발/버전] SVN 설치 (0) | 2012.01.26 |
[개발/c++] Send HTTP Post Request (0) | 2012.01.25 |
댓글