HttpSendRequest() FAILED 12029
, фэйлится исключительно под VPN
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.217.53] |
|
|
HttpSendRequest() FAILED 12029
, фэйлится исключительно под VPN
|
Сообщ.
#1
,
|
|
|
|
стоит задача скачать файл с сервака c каким то IP. пусть будет 1.2.3.4
![]() ![]() const wchar_t* severname = L"1.2.3.4"; const long bufferlength = 1000000; wchar_t* data = (wchar_t*) malloc( bufferlength ); unsigned int bytesReaded = 0; LoadFileHTTP( severname, L"FILELIST.ZIP", (BYTE*)data, bufferlength, &bytesReaded ); на машинах кторые под VPN сидят в инете после вызова HttpSendRequest ловится ошибка 12029. через IE файл отлично скачивается. тестеры говорят что прога добавлена в исключения в антивирусах и фаерволах. или они вообще отключены. где собако могла порытся? вот реализация загрузчика: ![]() ![]() UINT Setup::LoadFileHTTP(const wchar_t *host, const wchar_t *url, unsigned char *buffer, unsigned int bufferLength, unsigned int *bytesReaded, IProgressBar* progress ) { UINT res = S_OK; HINTERNET hInet = ::InternetOpen( L"Test Application", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 ); if ( hInet ) { HINTERNET hInetConn = ::InternetConnect( hInet, host, INTERNET_DEFAULT_HTTP_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0 ); if ( NULL != hInetConn ) { const wchar_t *AcceptTypes[] = { L"*/*", NULL }; HINTERNET hRequest = ::HttpOpenRequest( hInetConn, L"GET", url, NULL, NULL, AcceptTypes, INTERNET_FLAG_DONT_CACHE | INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_COOKIES, NULL ); if ( NULL != hRequest ) { if ( ::HttpSendRequest( hRequest, L"", -1, NULL, NULL ) ) { if( !::InternetReadFile( hRequest, buffer, bufferLength, (unsigned long*)bytesReaded ) ) { pgLog::error( "::InternetReadFile() FAILED %d", GetLastError() ); res = 5; } } else { pgLog::error( "::HttpSendRequest() FAILED %d", GetLastError() ); res = 4; } ::InternetCloseHandle( hRequest ); } else { pgLog::error( "::HttpOpenRequest( GET, %S) FAILED %d", url, GetLastError() ); res = 3; } ::InternetCloseHandle( hInetConn ); } else { pgLog::error( "::InternetConnect( %S ) FAILED %d", host, GetLastError() ); res = 2; } } else { pgLog::error( "::InternetOpen FAILED %d", GetLastError() ); res = 1; } return res; } |
|
Сообщ.
#2
,
|
|
|
|
список ошибок в помощь:
Цитата Error Code 12138 System error code 12138 means "The locator type is unknown." This error code may also display as "ERROR_GOPHER_UNKNOWN_LOCATOR" or as a specific value. Error Code 12150 System error code 12150 means "The requested header could not be located." This error code may also display as "ERROR_HTTP_HEADER_NOT_FOUND" or as a specific value. Error Code 12151 System error code 12151 means "The server did not return any headers." This error code may also display as "ERROR_HTTP_DOWNLEVEL_SERVER" or as a specific value. Error Code 12152 System error code 12152 means "The server response could not be parsed." This error code may also display as "ERROR_HTTP_INVALID_SERVER_RESPONSE" or as a specific value. Error Code 12153 System error code 12153 means "The supplied header is invalid." This error code may also display as "ERROR_HTTP_INVALID_HEADER" or as a specific value. Error Code 12154 System error code 12154 means "The request made to HttpQueryInfo is invalid." This error code may also display as "ERROR_HTTP_INVALID_QUERY_REQUEST" or as a specific value. Error Code 12155 System error code 12155 means "The header could not be added because it already exists." This error code may also display as "ERROR_HTTP_HEADER_ALREADY_EXISTS" or as a specific value. Error Code 12156 System error code 12156 means "The redirection failed because either the scheme changed (for example, HTTP to FTP) or all attempts made to redirect failed (default is five attempts)." This error code may also display as "ERROR_HTTP_REDIRECT_FAILED" or as a specific value. Error Code 12157 System error code 12157 means "The application experienced an internal error loading the SSL libraries." This error code may also display as "ERROR_INTERNET_SECURITY_CHANNEL_ERROR" or as a specific value. так перевел промт Цитата Код ошибки системы 12150 средств "требуемый заголовок не мог быть расположен." Этот код ошибки может также показать как "ERROR_HTTP_HEADER_NOT_FOUND" или как определенная ценность. вот тут вроде америкосы пытали эту тему http://www.codeguru.com/forum/archive/index.php/t-338949.html |
|
Сообщ.
#3
,
|
|
|
|
появились уточненния по сабжу
не работает только под VPN и возвращает уже 12029 причем в IE такая же адресная строка открывает документ или файл нормально |
|
Сообщ.
#4
,
|
|
|
|
посмотрите снифером что происходит %)
|
|
Сообщ.
#5
,
|
|
|
|
Цитата GoldFinch @ посмотрите снифером что происходит %) проблематично. тестеры это как бы помягче сказать - не обременены мозгом и снифер поставить и запустить ни асилят ((( |