Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как отловить все ответы сервера? [D7, WinXP]


Владимир ©   (2005-12-03 17:49:00) 

Добрый день. У меня такая проблемка, я посылаю запрос Post
и сервер возвращает ответ, как прочитать заголовок ответа?
HttpQueryInfo(hRequest, HTTP_QUERY_FLAG_REQUEST_HEADERS,
              @dwcode, dwCodeLen, dwIndex);
              res := pchar(@dwcode);
вот так неполучается, и как правильно устанавливать dwCodeLen?
И как прочитать все ответы сервера, если он шлет их 3 а у меня читается только последний.


seeker   (2005-12-05 15:01:00) [1]


> И как прочитать все ответы сервера, если он шлет их 3 а
> у меня читается только последний.

Что-то типа этого...

dwIndex:=0;
...
repeat
...
HttpQueryInfo(hRequest, dwFlag, @dwcode, dwCodeLen, dwIndex);
...
until (dwIndex=ERROR_HTTP_HEADER_NOT_FOUND) or (dwIndex=0);


isasa   (2005-12-05 10:53:00) [2]

Попробуй так:

var cURL : pURLs;
   hSes, hURL, hHTTP : HInternet;
   buf : string;
   bLen, hInd : longword;
   rBuff : PChar;
   i : longword;
...
 rBuff:=StrAlloc(bufLen);
...
 bLen:=4;
 hInd:=0;
 HttpQueryInfo(hHTTP, HTTP_QUERY_STATUS_CODE or HTTP_QUERY_FLAG_NUMBER, @i, bLen, hInd);
 Result:=i;
...
 bLen:=2048;
 HttpQueryInfo(hHTTP, HTTP_QUERY_RAW_HEADERS_CRLF, rBuff, bLen, hInd);
 buf :=string(rBuff);    // если надо в string
...


Владимир   (2005-12-03 17:51:00) [3]

Единственное что работает так это

dwIndex  := 0;
dwCodeLen := 10;
HttpQueryInfo(hRequest, HTTP_QUERY_STATUS_CODE,
              @dwcode, dwCodeLen, dwIndex);
              res := pchar(@dwcode);

возвращает код последнего ответа сервера.


Наверх

Титульная страница Поиск, карта сайта Написать письмо