뇌이뇬 2008.01.17 블로깅
----------------------------------------------
원문 : http://blog.naver.com/remipa01/90025335342
[-] Collapse
HINTERNET hInternetRoot = InternetOpen( "TestWinINet",
INTERNET_OPEN_TYPE_PRECONFIG,
NULL,
NULL,
0);
HINTERNET hInternetConnect = InternetConnect( hInternetRoot,
"www.test.co.kr",
INTERNET_DEFAULT_HTTPS_PORT,
"",
"",
INTERNET_SERVICE_HTTP,
0,
0);
HINTERNET hOpenRequest = HttpOpenRequest( hInternetConnect,
"POST",
"/test.asp",
HTTP_VERSION,
"",
NULL,
INTERNET_FLAG_SECURE|INTERNET_FLAG_IGNORE_CERT_CN_INVALID|INTERNET_FLAG_IGNORE_CERT_DATE_INVALID,
0);
DWORD dwFlags = 0 ;
dwFlags = SECURITY_FLAG_IGNORE_UNKNOWN_CA |
SECURITY_FLAG_IGNORE_REVOCATION |
SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP |
SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS |
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID |
SECURITY_FLAG_IGNORE_CERT_CN_INVALID;
InternetSetOption (hOpenRequest, INTERNET_OPTION_SECURITY_FLAGS, &dwFlags, sizeof(dwFlags));
char szPostData[2048] = {0};
lstrcpy(szPostData, "id=test&passwd=testpw");
// post header
char szLen[MAX_PATH] = {0};
char szHeader[2048] = {0};
wsprintf(szLen, "%d", lstrlen(szPostData));
lstrcpy(szHeader, "Accept: text/*\r\n");
lstrcat(szHeader, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0;* Windows NT)\r\n");
lstrcat(szHeader, "Content-type: application/x-www-form-urlencoded\r\n");
lstrcat(szHeader, "Content-length: ");
lstrcat(szHeader, szLen);
lstrcat(szHeader, "\r\n\n");
HttpAddRequestHeaders(hOpenRequest, szHeader, -1L, HTTP_ADDREQ_FLAG_ADD);
BOOL bSendRequest = HttpSendRequest(hOpenRequest,
NULL,
0,
szPostData,
lstrlen(szPostData));
char szBuf[2048] = {0};
DWORD dwSize = 0;
BOOL bRead = InternetReadFile( hOpenRequest,
szBuf,
sizeof(szBuf),
&dwSize);
MessageBox( szBuf);
BOOL bRet = InternetCloseHandle(hOpenRequest);
bRet = InternetCloseHandle(hInternetConnect);
bRet = InternetCloseHandle(hInternetRoot);
INTERNET_OPEN_TYPE_PRECONFIG,
NULL,
NULL,
0);
HINTERNET hInternetConnect = InternetConnect( hInternetRoot,
"www.test.co.kr",
INTERNET_DEFAULT_HTTPS_PORT,
"",
"",
INTERNET_SERVICE_HTTP,
0,
0);
HINTERNET hOpenRequest = HttpOpenRequest( hInternetConnect,
"POST",
"/test.asp",
HTTP_VERSION,
"",
NULL,
INTERNET_FLAG_SECURE|INTERNET_FLAG_IGNORE_CERT_CN_INVALID|INTERNET_FLAG_IGNORE_CERT_DATE_INVALID,
0);
DWORD dwFlags = 0 ;
dwFlags = SECURITY_FLAG_IGNORE_UNKNOWN_CA |
SECURITY_FLAG_IGNORE_REVOCATION |
SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP |
SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS |
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID |
SECURITY_FLAG_IGNORE_CERT_CN_INVALID;
InternetSetOption (hOpenRequest, INTERNET_OPTION_SECURITY_FLAGS, &dwFlags, sizeof(dwFlags));
char szPostData[2048] = {0};
lstrcpy(szPostData, "id=test&passwd=testpw");
// post header
char szLen[MAX_PATH] = {0};
char szHeader[2048] = {0};
wsprintf(szLen, "%d", lstrlen(szPostData));
lstrcpy(szHeader, "Accept: text/*\r\n");
lstrcat(szHeader, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0;* Windows NT)\r\n");
lstrcat(szHeader, "Content-type: application/x-www-form-urlencoded\r\n");
lstrcat(szHeader, "Content-length: ");
lstrcat(szHeader, szLen);
lstrcat(szHeader, "\r\n\n");
HttpAddRequestHeaders(hOpenRequest, szHeader, -1L, HTTP_ADDREQ_FLAG_ADD);
BOOL bSendRequest = HttpSendRequest(hOpenRequest,
NULL,
0,
szPostData,
lstrlen(szPostData));
char szBuf[2048] = {0};
DWORD dwSize = 0;
BOOL bRead = InternetReadFile( hOpenRequest,
szBuf,
sizeof(szBuf),
&dwSize);
MessageBox( szBuf);
BOOL bRet = InternetCloseHandle(hOpenRequest);
bRet = InternetCloseHandle(hInternetConnect);
bRet = InternetCloseHandle(hInternetRoot);
'Coding > C,C++, Win32, MFC' 카테고리의 다른 글
외부 DLL 로드시 에러 체크 (0) | 2009.08.09 |
---|---|
[API완전정복] VS 2005에서 LPCWSTR 관련 에러 (0) | 2009.08.09 |
Application 프로그래밍시 알아두어야 할 지식들 (0) | 2009.08.09 |
링커가 빌드한 시간 알아내는 함수 (0) | 2009.08.09 |
Vista와 VC2005 영문판과 한글판의 궁합.. (0) | 2009.08.09 |