Форум » [x]Harbour » Подключение по HTTP » Ответить
Подключение по HTTP
Dima: Что за либа мне нужна ? Ни когда ранее с этим не работал. Из доки по API приложения. [pre2] Пример для GET запроса: http://api.xxxxx.ua/WebSky/service.php/ConnectToServer?login=test&pass=test&tz=-180 В случае правильного логина и пароля и успешного подключения также возвращается HTTP cookie с параметрами сессии, для использования при отсылке следующих запросов. При успешном коннекте должен быть получен ответ «ок» - подключение прошло успешно. [/pre2] Собственно как слать такие запросы и как ловить ответы ?
Ответов - 33, стр:
1 2 All
Dima: Петр пишет: А если установить hb_cdpSelect( "UTF8" ) какой результат получится? Тогда все нормально. Будет в UTF8. Такое впечатление что возврат идет в кодировке установленной мануально.
Петр: Dima пишет: Такое впечатление что возврат идет в кодировке установленной мануально. Это как? Так и есть: msxml оперирует данными в U16, через механизм ole и виртуальную harbour машину, кодировка приводится к вот этой самой "установленной мануально". Как это работает можете рассмотреть в olecore.c. А можете не рассматривать - примите как факт.
Dima: Ясно...буду пока юзать костыль )) hb_cdpSelect( "UTF8" ) cc:=xmldoc:responseText hb_cdpSelect( "RU866" ) Работает.
Петр: Dima пишет: Ясно...буду пока юзать костыль Вот это не костыль. Так работает поддержка национальных кодировок в harbour. Зачем сразу в RU866 переходить?
Dima: Петр пишет: Зачем сразу в RU866 переходить? Ну как бы базы в ней живут да и код сырцов.
Петр: Понятно, по привычке. Я думал, проблемы с разбором строк, в harbour куча функций для работы с строками UTF8 и Unicode, привыкнуть можно.
Dima: Петр Спасибо за желание помочь !
fil: Dima, смог ли ты получить XML-документ (responseXML) ? Я делаю так ........................................... ohttp:setRequestHeader( 'Content-Type', 'text/xml') ohttp:Send(NIL) do while .T. if ohttp:readyState=4.and.ohttp:Status=200 ? ohttp:getResponseHeader("content-type") - возвращает 'text/html', ну и соответственно responseXML - nill. В чем засада не пойму
Dima: fil У меня так примерно [pre2] xmldoc:open("POST", HQuery["Curl"]+HQuery["Disconnect"], .f.) xmldoc:Send() ntime:=Seconds() do while xmldoc:ReadyState != 4 hb_releaseCPU() if ABS( Seconds() - nTime ) >= ntimeout ret[3]:="Сервер не отвечает" xmldoc:abort() xmldoc := NIL return ret endif enddo cret:=xmldoc:responseText [/pre2] c этим я игрался ohttp:setRequestHeader( 'Content-Type', 'text/xml' , и наигравшись забил )
fil: Ну responseText мне ни к чему. Хотел добраться до responseXML-документа и парсить его посредством DOM. Побьюсь еще. Уж больно неохота через ActiveX делать
Dima: Dima пишет: cret:=xmldoc:responseText Так я тут XML и получаю.
fil: Ты получаешь XML-левский текст, а мне нужен Document Object Model (DOM) страницы. Или я чего не понял ?
Dima: fil пишет: Ты получаешь XML-левский текст да fil пишет: а мне нужен Document Object Model (DOM) страницы. Тут ни чего не скажу , не юзал
полная версия страницы