![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте. Возникла проблем. Делаю post запрос (IdHttp1.post)
Код:
page := IdHttp1.post('https://secure.site.org/site/API',data); if pos('!!!!!!!!!!!!!Тут то что мне надо!!!!!!!!!!!!!!!!',page )<>0 then begin Label1.Caption:='БЛА1'; end else Label1.Caption:='БЛА2'; Ответ на мой post запрос (Смотрел в снифере) Код HTML:
+Браузер получает 100% идентичный ответ (смотрел в снифере) При вылете этого сообщения работа программы останавливается, естественно ни какого парсинга переменной page не происходит. Прошу помощи в решении данной проблемы. P.S В практическом программирование всего 4 дня)) Так что если будите что то описать, прошу делать это как можно подробнее ))) P.P.S Есть у кого нибудь кряк для Embarcadero® RAD Studio XE2 Version 16.0.4429.46931 ?? |
#2
|
|||
|
|||
![]() Может из за того что ты делаешь запрос на защищенный сайт https, а idhttp с ним не работает, поробуй
подключить к нему TIdSSLIOHandlerSocketOpenSSL |
#3
|
|||
|
|||
![]() Цитата:
![]() |
#4
|
|||
|
|||
![]() тогда заключи код в блок try-except или отключи в свойствах проекта debuging--исключения не будут выводиться
|
#5
|
|||
|
|||
![]() Я уже очень близко !!!!!
Код:
Возвращенные заголовки (после ответа сервера) можно посмотреть так: idHttp.Response.RawHeaders.GetText; Код:
try page := IdHttp1.post('https://secure.site.org/site/API',data); Except on Exception do Memo1.Lines.Text:= idHttp1.Response.RawHeaders.GetText ; end; Код:
Date: Wed, 28 Mar 2012 19:35:03 GMT Server: Apache Cache-Control: private Transfer-Encoding: chunked Content-Type: text/xml; charset=UTF-8 Но этого не достаточно,нужно остльное остальное Код:
TTP/1.1 403 Forbidden Date: Wed, 28 Mar 2012 19:35:03 GMT Server: Apache Cache-Control: private Transfer-Encoding: chunked Content-Type: text/xml; charset=UTF-8 236 <?xml version="1.0" encoding="UTF-8"?> <Response xsi:schemaLocation="http://site.com/crm/v1.0 http://service.site.net/xmlschema/crm.public.v1.xsd" xmlns="http://convio.com/crm/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <errors> <code>101</code> <message>!!!!!!!!!!!!!Тут то что мне надо!!!!!!!!!!!!!!!(Обычный текст)</message> <reason>FIELD_VALIDATION</reason> <pageError>!!!!!!!!!!!!!Тут то что мне надо!!!!!!!!!!!!!!!(Обычный текст)</pageError> <fieldError>!!!!!!!!!!!!!Тут то что мне надо!!!!!!!!!!!!!!!(Обычный текст)</fieldError> </errors> </Response> |
#6
|
||||
|
||||
![]() попробуй в Post передать еще AResponseContent: TStream и из него читать ответ. что-то типа:
Код:
var AStrings: TStrings; AStringStream: TStringStream; begin AStrings:=TStringList.Create; AStringStream:=TStringStream.Create(''); ... try IdHTTP1.Post('...', AStrings, AStringStream); finally ShowMessage(AStringStream.DataString); end; end; Пишу программы за еду. __________________ |