Win32 , C++

WinHttp 로 Web Client 만들기

김모작자 2012. 6. 18. 09:55

WinInet 함수가 윈도 서비스 등에 사용할 수 없음이 확인되면서, Microsoft 에서 권장하는 WinHttp 함수군으로 framework 코드를 만들었다.

요점 사항

WinHttpAddRequestHeaders - 헤더의 유효성(validation)을 체크한다.

WinHttpSendRequest 에서 POST 인 경우 TotalLength 파라미터를 기록해줘야한다.

TotalLength 가 실제 전송하는 데이터 길이 보다 길게 기록한 경우 WinhttpReceiveResponse 에서 15초 정도의 시간이 걸린다. 이는 서버측에서 timeout 시간동안 데이터를 더 기다리고 있기 때문에 발생한다.

개발 기준 : Visual Studio 2010 SP1, ATL, MSXML6

 SimpleHttpIO.cpp

SimpleHttpIO.h