Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Winhttpsendrequest error, ошибка О_о 
:(
    Опции темы
jimbo
Дата 18.5.2010, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 18.6.2009
Где: Южно-Сахалинск

Репутация: нет
Всего: нет



Привет всем!

Необходимо на С/С++ оставить сообщение на форуме. Я написал приложение с использованием WinHttp. На моем компе все нормально работает. На другом компе в одной и той же локальной сети нет. Происходит ошибка 12029 при отправке запроса WinHttpSendRequest. Ошибка значит, что соединение пропало. Что это значит? Почему на моем компе все работает а на другом нет? На обоих компах выход в инет через прокси. 

код отправки запроса:
Код


bool ConnectUrl(HINTERNET *hSession,HINTERNET *hConnect,wchar_t *url,int port)
{
    *hSession = WinHttpOpen( L"WinHTTP Example/1.0",  
                            WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,
                            WINHTTP_NO_PROXY_NAME, 
                            WINHTTP_NO_PROXY_BYPASS, 0);

    // Specify an HTTP server.
    if (!*hSession)
    {        
        printf("no init");
        return false;
    }
    printf("port:%d\n",port);
    *hConnect = WinHttpConnect( *hSession, url,
                                  port, 0);
    
    if(!*hConnect) 
    {
        printf("no connect");
        return false;
    }    
    return true;    
}

bool Login(HINTERNET hConnect,bool proxy,wchar_t *proxyheader,char *proxyuser,char *proxypass,char *sessionhash)
{
    BOOL bResults;
    //printf("1\n");
    HINTERNET  hRequest = NULL;

    hRequest = WinHttpOpenRequest( hConnect, L"POST", L"/login.php?do=login",
                           NULL, WINHTTP_NO_REFERER, 
                           WINHTTP_DEFAULT_ACCEPT_TYPES, 
                          0);
    if(!hRequest) return false;
    printf("2\n");
    if(proxy)
    {        
        WinHttpSetOption(hRequest,WINHTTP_OPTION_PROXY_USERNAME,proxyuser,wcslen(proxyuser));
        WinHttpSetOption(hRequest,WINHTTP_OPTION_PROXY_PASSWORD,proxypass,wcslen(proxypass));
    
    }        
    
    string context = ".......";
    wchar_t contenttype[1024];
    swprintf_s(contenttype,1024,L"Content-Length: %d",context.size());
    bResults = WinHttpAddRequestHeaders(hRequest,contenttype,-1,WINHTTP_ADDREQ_FLAG_ADD);
    if(!bResults)
    {
        printf("Error 7 %d has occurred.\n",GetLastError());
        return false;
    }
    //printf("context:%s\n",context.c_str());
    bResults = WinHttpSendRequest( hRequest,
                                   WINHTTP_NO_ADDITIONAL_HEADERS,
                                   0,
                                   (void*)context.c_str(), context.size(), 
                                   context.size(), 0);
                                   //0,0,0,0);

    printf("4\n");
    if (!bResults)
    {
                // Вот тут ошибочка на других компах сети:(
        printf("Error 2 receive response\n%d\n",GetLastError());
        return false;
    }
...

--------------------
Я не играю в шахматы - в шахматах я борюсь. А.А.Алехин
PM MAIL WWW   Вверх
Sartorius
Дата 18.5.2010, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



А какой таймаут для соединения? Попробуй infinite выставить http://msdn.microsoft.com/en-us/library/aa384066(VS.85).aspx 
PM MAIL ICQ   Вверх
jimbo
Дата 18.5.2010, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 18.6.2009
Где: Южно-Сахалинск

Репутация: нет
Всего: нет



Спасибо за ответ, сейчас попробую. просто по наитию я думаю, что прав не хватает или что-то типа того. Брандмауэров никаких не стоит нигде. Но обычный запрос GET не выполняется и вылетает с той же ошибкой 12029.

Добавлено через 4 минуты и 59 секунд
ERROR_INTERNET_TIMEOUT 
вот такая фигня после установки 
WINHTTP_OPTION_CONNECT_TIMEOUT 0xffffffff
--------------------
Я не играю в шахматы - в шахматах я борюсь. А.А.Алехин
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0736 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.