Всем привет.
Что хочу получить: программа отсылает запрос к серверу, сервер даёт ошибку 401 и даёт текст (напр "неверный логин или пароль"). Мне нужен этот текст.
Выглядит так
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | var
response: string;
data: TStringStream;
begin
Form1.IdHTTP1.Request.ContentType := 'application/json;charset=UTF-8';
Form1.IdHTTP1.ConnectTimeout := 3000;
data := TStringStream.Create(
'{"login":"' + login + '","password":"'+password+'"}'
);
Result := getMessage('');
try
Form1.IdHTTP1.Request.CustomHeaders.Clear;
Form1.IdHTTP1.Request.CustomHeaders := TIdHeaderList.Create(TIdHeaderQuotingType.QuoteHTTP);
Result := getMessage(response);
except
on E: Exception do begin
Form1.log('Request error: '+ E.Message);
ShowMessage(E.Message);
ShowMessage(response);
end;
end;
end;
data.free;
Form1.IdHTTP1.Disconnect;
end;
|
Что я имею: кетч экцепшна даёт мне сам текст ошибки (E.Message = " HTTP/1.1 401 Unauthorized"), response пустой остаётся
Анализатор http траффика показывает, что текст "неверный логин или пароль" в ответе присутствует