0
Answered

415 Unsupported Media Type

Anonymous 4 years ago updated 4 years ago 12

Что делать в этой ситуации, подключаюсь в Delphi

Answer

Answer
Answered

Нужно установить хедеру Content-Type значение application/json.

Answer
Answered

Нужно установить хедеру Content-Type значение application/json.

выставляю, все равно то же самое.

Дайте, пожалуйста, полный код.

stream := TStringStream.Create('');

stream.WriteString(UTF8Decode('query=Арханг&count=10&'));

http.Document.LoadFromStream(stream);

http.Headers.LoadFromStream(TStringStream.Create('Authorization=Token ***&Content-Type=application/xml&Accept=application/xml'));

http.HTTPMethod('post', 'https://dadata.ru/api/v2/suggest/address?');

http.Document.SaveToFile('2.txt');

Memo1.Lines.AddStrings(Http.Headers);

http := THTTPSend.Create;

У вас, похоже, некорректный запрос.

Вы указываете в заголовках, что запрос 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');


Все равно такая же ошибка

Ответим в понедельник.

спасибо за помощь, разобрался