На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > HttpSendRequest() FAILED 12029 , фэйлится исключительно под VPN
      стоит задача скачать файл с сервака c каким то IP. пусть будет 1.2.3.4

      ExpandedWrap disabled
        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 файл отлично скачивается.
      тестеры говорят что прога добавлена в исключения в антивирусах и фаерволах.
      или они вообще отключены.

      где собако могла порытся?

      вот реализация загрузчика:
      ExpandedWrap disabled
        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;
        }
      Сообщение отредактировано: progman -
        список ошибок в помощь:
        Цитата
        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
        Сообщение отредактировано: gen.izh -
          появились уточненния по сабжу
          не работает только под VPN и возвращает уже 12029
          причем в IE такая же адресная строка открывает документ или файл нормально
            посмотрите снифером что происходит %)
              Цитата GoldFinch @
              посмотрите снифером что происходит %)

              проблематично. тестеры это как бы помягче сказать - не обременены мозгом и снифер поставить и запустить ни асилят (((
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0.0747 ]   [ 16 queries used ]   [ Generated: 6.07.26, 06:38 GMT ]