Ваши комментарии
Добрый день, тоже пытаюсь повторить код в Delphi, но всегда выдает ошибку: Project Project1.exe raised exception class EIdHTTPProtocolException with message 'HTTP/1.1 400 Bad Request'.
В чем может быть проблема?
Сервис поддержки клиентов работает на платформе UserEcho
Разобрался, потомкам может пригодится:
function GetDaData(URL, ContentType, Accept, Token, Body: string): string; var IdHTTP1: TIdHTTP; StringStream: TStringStream; begin IdHTTP1 := TIdHTTP.Create; StringStream := TStringStream.Create('', TEncoding.UTF8); try IdHTTP1.HTTPOptions := [hoKeepOrigProtocol,hoForceEncodeParams,hoNoProtocolErrorException,hoWantProtocolErrorContent]; IdHTTP1.Request.ContentEncoding := 'UTF-8'; IdHTTP1.Request.ContentType := ContentType; IdHTTP1.Request.Accept := Accept; IdHTTP1.Request.CustomHeaders.Add('Authorization: Token ' + Token); StringStream.WriteString(Body); Result := IdHTTP1.Post(URL, StringStream); finally StringStream.Free; IdHTTP1.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var URL: string; ContentType: string; Accept: string; Token: string; Body: string; begin URL := 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/fio'; ContentType := 'application/xml'; Accept := 'application/xml'; Token := '***'; Body := 'Рос'; Memo1.Text := GetDaData(URL, ContentType, Accept, Token, Body) end; procedure TForm1.Button2Click(Sender: TObject); var URL: string; ContentType: string; Accept: string; Token: string; Body: string; begin URL := 'http://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address'; ContentType := 'application/json'; Accept := 'application/json'; Token := '***'; Body := '{ "query": "Рос" }'; Memo1.Text := GetDaData(URL, ContentType, Accept, Token, Body) end;