Ответ
Нужно установить хедеру Content-Type значение application/json.
stream := TStringStream.Create('');
stream.WriteString(UTF8Decode('query=Арханг&count=10&'));
http.Document.LoadFromStream(stream);
http.HTTPMethod('post', 'https://dadata.ru/api/v2/suggest/address?');
http.Document.SaveToFile('2.txt');
Memo1.Lines.AddStrings(Http.Headers);
У вас, похоже, некорректный запрос.
Вы указываете в заголовках, что запрос xml, но сам запрос в какой-то странной форме.
Посмотрите пример xml запроса в Дадату (он в самом низу страницы).
Вы отправляете так:
stream.WriteString(UTF8Decode('query=Арханг&count=10&'));
Но это мало похоже на формат XML.
Вот как примерно должно выглядеть тело запроса XML:
<req><query>москва серпуховская</query></req>
ну смотрите я передаю следующим образом в формате json:
stream.WriteString('{"query": "%D0%B0%D1%80%D1%85", "Content-Type": "application/json", "Accept": "application/json", "Authorization": "Token bae9fc3124d5cbd504d5b8e1cf4f006780511b1c "}'); http.Headers.LoadFromStream(stream);
http.HTTPMethod('post', 'https://dadata.ru/api/v2/suggest/address');
Все равно такая же ошибка
Сервис поддержки клиентов работает на платформе UserEcho
Нужно установить хедеру Content-Type значение application/json.