пытаюсь вот таким образом json-обьект запостить на сервер (это платежный шлюз).
получаю от сервера в респонзе ответ -
{"Success":false,"ErrorCode":"5","Message":"Неверный запрос.","Details":"Неверный content-type application/x-www-form-urlencoded;charset=UTF-8. Необходимо отправлять запрос с указанием в заголовке application/json."}
"Неверный content-type application/x-www-form-urlencoded;charset=UTF-8. Необходимо отправлять запрос с указанием в заголовке application/json"
почему он неверный???? я же ниже в коде ставлю ContentType именно в application/json…..
Что я делаю не так?
Код:
FHTTPClient:=THTTPClient.Create;
FHTTPClient.ConnectionTimeout:=ConstHTTPClientConnectionTimeout;
FHTTPClient.ResponseTimeout:=ConstHTTPClientResponseTimeout;
FHTTPClient.UserAgent:='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';
FHTTPClient.Accept:='text/html,application/json,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8';
FHTTPClient.AcceptEncoding:='gzip, deflate';
FHTTPClient.AcceptLanguage:='ru,en-US;q=0.8,en;q=0.6';
try
HTTPResponse:=FHTTPClient.Post('https://securepay.tinkoff.ru/v2/Init', Memo1.Lines);
if Assigned(HTTPResponse) and (HTTPResponse.StatusCode = 200) then
begin
// if Assigned(fmRating.Image14.Bitmap) then fmRating.Image14.Bitmap.Free;
Вопрос
Bob32
Добрый день!
пытаюсь вот таким образом json-обьект запостить на сервер (это платежный шлюз).
получаю от сервера в респонзе ответ -
{"Success":false,"ErrorCode":"5","Message":"Неверный запрос.","Details":"Неверный content-type application/x-www-form-urlencoded;charset=UTF-8. Необходимо отправлять запрос с указанием в заголовке application/json."}
"Неверный content-type application/x-www-form-urlencoded;charset=UTF-8. Необходимо отправлять запрос с указанием в заголовке application/json"
почему он неверный???? я же ниже в коде ставлю ContentType именно в application/json…..
Что я делаю не так?
Код:
FHTTPClient:=THTTPClient.Create;
FHTTPClient.ConnectionTimeout:=ConstHTTPClientConnectionTimeout;
FHTTPClient.ResponseTimeout:=ConstHTTPClientResponseTimeout;
FHTTPClient.UserAgent:='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';
FHTTPClient.Accept:='text/html,application/json,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8';
FHTTPClient.AcceptEncoding:='gzip, deflate';
FHTTPClient.AcceptLanguage:='ru,en-US;q=0.8,en;q=0.6';
FHTTPClient.ContentType:='application/json';
FHTTPClient.AcceptCharSet := 'UTF-8';
try
try
HTTPResponse:=FHTTPClient.Post('https://securepay.tinkoff.ru/v2/Init', Memo1.Lines);
if Assigned(HTTPResponse) and (HTTPResponse.StatusCode = 200) then
begin
// if Assigned(fmRating.Image14.Bitmap) then fmRating.Image14.Bitmap.Free;
Memo2.Lines.LoadFromStream(HTTPResponse.ContentStream);
end;
except
end;
finally
if Assigned(FHTTPClient) then FHTTPClient.Free;
end;
Ссылка на комментарий
Лучшие авторы в вопросе
22
2
4
30
Популярные дни
1 авг
33
2 авг
14
30 июль
7
31 июль
4
Лучшие авторы в вопросе
krapotkin 22 постов
Slym 2 постов
slav_z 4 постов
Bob32 30 постов
Популярные дни
1 авг 2020
33 постов
2 авг 2020
14 постов
30 июль 2020
7 постов
31 июль 2020
4 постов
Популярные посты
Slym
Bytes:=TEncoding.UTF8.GetBytes(Memo1.Lines.Text); BytesStream:=TBytesStream.Create(Bytes); try HTTPResponse:=FHTTPClient.Post('https://securepay.tinkoff.ru/v2/Init', ByteStream); ..... finally
krapotkin
Задача любой синхронизации - не дать разным потокам одновременно изменять данные. Можете себе представить принтер, на который печатают несколько человек. Если не выстроить их в очередь, то резуль
Slym
и ручками править хрупкую структуру - нунах... там у тебя json, проверяй валидность json json:=TJSONObject.ParseJSONValue(Bytes, 0);
Изображения в теме
57 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.