c++ 에서 HTTP 요청을  할 때 특수문자나 공백 등의 인코딩을 해서 요청해야 합니다.

그럴 때 InternetCanonicalizeUrl 함수를 사용합니다.

 

아래는 MFC로 함수화 한것입니다.

 

CString CUtility::InternetCanonicalizeUrl(CString origanlUrl)
{
     WCHAR wUrl[MAX_URL] = {0};
     DWORD dbuffer = MAX_URL;
     WCHAR szEncodeUrl[MAX_URL] = {0};
     wsprintf(szEncodeUrl, origanlUrl);

::InternetCanonicalizeUrl(szEncodeUrl, wUrl, &dbuffer,  ICU_DECODE );
CString sUrl(wUrl);
return sUrl;

}