"cpp/win32/wininet http"의 두 판 사이의 차이
Redjini WiKi
(차이 없음)
|
2017년 7월 3일 (월) 11:40 기준 최신판
- CPP > Win32 APIcpp/win32/api (6)
- CPP > Win32 > Firewal(방화벽)cpp/win32/firewal
- CPP > Win32 > Internet 신뢰 사이트cpp/win32/internet trust zone
- CPP > Win32 > UAC 확인cpp/win32/uac
- CPP > Win32 > Windows 32/64 확인cpp/win32/windows 32 64 check
- CPP > Win32 > Windows Message Codecpp/win32/windows message code (3)
- CPP > Win32 > WinINet 오류코드cpp/win32/wininet error code
- CPP > Win32 > WinINet(HTTP)cpp/win32/wininet http
- CPP > win32 > 레지스트리 등록cpp/win32/레지스트리 등록
- CPP > win32 > 프로세스 파일 경로cpp/win32/프로세스 파일 경로
다음과 같이 이용할 경우
HttpOpenRequest 이용시 디버깅 창에
"0xC0000005: 0xcccccccc 위치를 읽는 동안 액세스 위반이 발생했습니다."
LPCTSTR szAcceptType = "*/*";
LPCTSTR szAccept = __ACE_HTTP_ACCEPT;
LPCTSTR szContentType= _T("Content-Type: application/x-www-form-urlencoded\r\n");
DWORD dwFlags = INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_FORMS_SUBMIT;
DWORD_PTR dwContext = NULL;
m_hReq =::HttpOpenRequest(m_hHttp, "POST", szURI, HTTP_VERSION, NULL, &szAcceptType, dwFlags, dwContext);
if(!m_hReq){
return FALSE;
}
오류 해결방법
MSDN 함수 설명
HINTERNET HttpOpenRequest( __in HINTERNET hConnect, __in LPCTSTR lpszVerb, __in LPCTSTR lpszObjectName, __in LPCTSTR lpszVersion, __in LPCTSTR lpszReferer, __in LPCTSTR* lplpszAcceptTypes, __in DWORD dwFlags, __in DWORD_PTR dwContext );
lplpszAcceptTypes 값을 다음과 같이 수정하면 됩니다.
LPCTSTR szAcceptType[]= {"*/*", NULL};
LPCTSTR szAccept = __ACE_HTTP_ACCEPT;
LPCTSTR szContentType = _T("Content-Type: application/x-www-form-urlencoded\r\n");
DWORD dwFlags = INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_FORMS_SUBMIT;
DWORD_PTR dwContext = NULL;
m_hReq =::HttpOpenRequest(m_hHttp, "POST", szURI, HTTP_VERSION, NULL, szAcceptType, dwFlags, dwContext);
if(!m_hReq){
return FALSE;
}