Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по InternetConnect и HttpOpenRequest? Ошибка форматирования имени сервера 
V
    Опции темы
kresh
Дата 7.3.2008, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 1.1.2008
Где: Минск

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



Всем привет! Пишу прогу с использованием функций Wininet.
 возникли проблемы. При отладке программы (//открываем сессию HTTP), значение 
Код
q=TEXT("www.nbrb.by");

 получается в числом вместо  www.nbrb.by и сотвественно при открытии запроса значение 
Код

LPTSTR qp=NULL;
 qp=TEXT("RatesPrint.asp?fromDate=2008-02-29");
 так же  получается числом вместо  наименования результирующей страницы RatesPrint.asp?fromDate=2008-02-29,которая нам в принципе нужна.Как результат   браузер выдает ошибку 404  " contact the Web site administrator to alert them that the link is incorrectly formatted. 
"  Ниже привожу отрывок кода.На данном участке и просходят те вещи ,которые я описал выше.Помогите разобраться в чем причина.Заранее благодарю!
 smile 
Код

//функция для открытия HTTP сессии для заданных сайтов
HINTERNET  CConect(HINTERNET hinternet)
{//  проверка инициализации WinInet
std::cout<<"\n CConect"<<hinternet;
     LPTSTR q=NULL;
      q=TEXT("www.nbrb.by");
     std::cout<<"\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!q============"<<q;

        //открываем сессию HTTP
        HINTERNET hConnect=::InternetConnect(

                 hinternet,
                  q   ,//имя сервера//преобразование тира из смвольного в Указатель на константную Unicode-строку2 

                 INTERNET_DEFAULT_HTTP_PORT,//номер ТСР/IP порта к которому подсоеденяемся 
                 NULL,
                 NULL,
                 INTERNET_SERVICE_HTTP,//тип сервиса 
                 0,
                 NULL);


              



if(hConnect!=NULL){request( hConnect, hinternet);}
    
    return hConnect;
}

HINTERNET  request( HINTERNET hConnect,HINTERNET hinternet)
{std::cout<<"\n request"<<hConnect;
    // открываем запрос
LPTSTR qp=NULL;
 qp=TEXT("RatesPrint.asp?fromDate=2008-02-29");
     std::cout<<"\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!qp============"<<qp;
    HINTERNET hRequest=::HttpOpenRequest(
        hConnect,
        TEXT("GET"),// имя команды запроса 
        TEXT("RatesPrint.asp?fromDate=2008-02-29"),//имя HTML файла
         NULL,
         NULL,
         0,
         INTERNET_FLAG_KEEP_CONNECTION,//удерживает соединение с сервером между запросами
         0);
std::cout<<"\n request="<<hRequest;
        
         if (hRequest!=NULL){ ;}
         
// отсылаем запрос на  сервер HTTP



BOOL bResults =::HttpSendRequest( hRequest,
                                NULL,//если нет никаких дополнительных заголовков
                                0, 
                                NULL,
                                0);


Это сообщение отредактировал(а) kresh - 7.3.2008, 10:48
--------------------
Спросит вас продавец в магазине формулу Гаусса-Остроградского... А вы ее не знаете!
PM MAIL   Вверх
586
Дата 7.3.2008, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(kresh @  7.3.2008,  10:46 Найти цитируемый пост)
значение 
q=TEXT("www.nbrb.by");
 получается в числом вместо  www.nbrb.by 


Цитата(kresh @  7.3.2008,  10:46 Найти цитируемый пост)
std::cout<<"\n !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!q============"<<q;

std::cout не понимает строк Юникод, и выводит просто указатель. Используй std::wcout.

Это сообщение отредактировал(а) 586 - 7.3.2008, 18:04
PM   Вверх
korian
Дата 8.3.2008, 04:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

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



586
Цитата
std::cout не понимает строк Юникод, и выводит просто указатель. Используй std::wcout.

там еще не известно UNICODE задефайлено или нет.
хотя по высказыванию, что q=TEXT("www.nbrb.by"); являеться числом... похоже задефайлено.

kresh
мало что понял  smile 
но похоже 586 прав
разберитесь, где у вас ANSI, а где UNICODE. Причем как в переменных, так и в функциях.

PM   Вверх
kresh
Дата 8.3.2008, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 1.1.2008
Где: Минск

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



Всем спасибо товарищи программисты! Проблема решена!
--------------------
Спросит вас продавец в магазине формулу Гаусса-Остроградского... А вы ее не знаете!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




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


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

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