![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отловить все ответы сервера? [D7, WinXP]
Владимир © (2005-12-03 17:49:00)Добрый день. У меня такая проблемка, я посылаю запрос Post
и сервер возвращает ответ, как прочитать заголовок ответа?
HttpQueryInfo(hRequest, HTTP_QUERY_FLAG_REQUEST_HEADERS,вот так неполучается, и как правильно устанавливать dwCodeLen?
@dwcode, dwCodeLen, dwIndex);
res := pchar(@dwcode);
И как прочитать все ответы сервера, если он шлет их 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);
возвращает код последнего ответа сервера.