Header
wininet.h
API
InternetOpen( ) - WinInet 함수들을 초기화
InternetConnect( ) - Http혹은 FTP 사이트 연결
HttpOpenRequest( ) - HTTP Request handle 생성
HttpSendRequest( ) - HTTP 서버로 Request 전달
HttpQueryInfo( ) - 파일을 전체크기
InternetQueryDataAvailable( ) - 서버가 바로보낼수 있는 크기를 알려줌
InternetReadFile( ) - 서버로부터 지정된 크기만큼 파일을 읽어옴
InternetCloseHandle( ) - 열려있는 핸들을 닫음
예제
wininet.h
API
InternetOpen( ) - WinInet 함수들을 초기화
InternetConnect( ) - Http혹은 FTP 사이트 연결
HttpOpenRequest( ) - HTTP Request handle 생성
HttpSendRequest( ) - HTTP 서버로 Request 전달
HttpQueryInfo( ) - 파일을 전체크기
InternetQueryDataAvailable( ) - 서버가 바로보낼수 있는 크기를 알려줌
InternetReadFile( ) - 서버로부터 지정된 크기만큼 파일을 읽어옴
InternetCloseHandle( ) - 열려있는 핸들을 닫음
예제
#include < wininet.h >
  HINTERNET hOpen, hConnect, hReq;
  LPCSTR postheader = "Content-Type: application/x-www-form-urlencoded";
  int port = 80;
  hOpen = InternetOpen("SimplePost", INTERNET_OPEN_TYPE_PRECONFIG, 0, 0, 0);
  if(hOpen == NULL)  {
     return -1;
  }
  // "127.0.0.1"대신에 다운받을 화일이 있는 서버주소를 입력 
  hConnect = InternetConnect(hOpen, "127.0.0.1", port, 0, 0, INTERNET_SERVICE_HTTP, 0, 0);
  hReq = HttpOpenRequest(hConnect, "POST", "/test.bin", "HTTP/1.1", 0, 0, INTERNET_FLAG_NO_CACHE_WRITE, 0);
  HttpSendRequest(hReq, postheader, lstrlen(postheader), NULL, 0);
  DWORD dwRead = 0;
  DWORD Size;
  CHAR Data[1025] = "";
  FileOpen("Filename");
  do 
  {     // 다운받는화일의 나머지 크기 얻어오기
     InternetQueryDataAvailable(hReq,&Size,0,0);     // 남은 크기가 1024보다 크면 1024로 고정
     if(Size>1024) Size = 1024;
     InternetReadFile(hReq, (LPVOID)Data, Size, &dwRead);
     if(dwRead) {
        Data[dwRead] = 0x00;
        FileWrite(Data, Size);
     }
  } while(dwRead != 0);  //읽어온 데이터의 크기가 0이 아니면 계속 반복
  FileClose();
  InternetCloseHandle(hConnect);
  InternetCloseHandle(hOpen);
  hConnect = NULL;
  hOpen = NULL;
// FileOpen(), FIleWrite(), FIleClose()함수 별도





 
