Доброго времени суток друзья! Который день уже мучаюсь с этим Json и Delphi...
В чем суть. Суть в том чтобы отправить на сервер параметры JSON
<code>POST regi HTTP/1.1
Host: blablabla
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Proxy-Connection: keep-alive
Accept: */*
Accept-Language: ru;q=1, en;q=0.9
Accept-Encoding: gzip, deflate
{"car_spoiler":"81231233245","model":"1"}</code>
и получить ответ
<code>{"success":true,"msg":null}</code>
Если же ответ не совпадает с тем что указан выше, то изменять значение model из текстового файла, в котором будут такие значения
<code>1
2
3
4
итд</code>
пока не получит ответ сервера
<code>{"success":true,"msg":null}</code>
А как получит ответ <code>{"success":true,"msg":null}</code> - сохранит результат в текстовый документ.
Вот консольный вариант для Delphi
Код:
program JSONPostExample;
{$APPTYPE CONSOLE}
uses
IdHTTP, IdGlobal, SysUtils, Classes;
var
HTTP: TIdHTTP;
RequestBody: TStream;
ResponseBody: string;
begin
HTTP := TIdHTTP.Create;
try
try
RequestBody := TStringStream.Create('{"phone":"89127518330","account":null,"deviceid":null,"devicemodel":"iPad4,1","pincode":"1233","configid":1}',
TEncoding.UTF8);
try
HTTP.Request.Accept := 'application/json';
HTTP.Request.ContentType := 'application/json';
ResponseBody := HTTP.Post('https://weborder.taxi434343.ru/taxiclient/2/registerpin',
RequestBody);
WriteLn(ResponseBody);
WriteLn(HTTP.ResponseText);
finally
RequestBody.Free;
end;
except
on E: EIdHTTPProtocolException do
begin
WriteLn(E.Message);
WriteLn(E.ErrorMessage);
end;
on E: Exception do
begin
WriteLn(E.Message);
end;
end;
finally
HTTP.Free;
end;
ReadLn;
ReportMemoryLeaksOnShutdown := True;
end.
Админ: Пользуемся тегами для оформления кода!
Прошу помочь с дополнением кода. Заранее спасибо!