NaciO

Delphi ile Logo Objects REST Servis token alma işlemi

  Tiger/REST

Tiger 3 ile çalışan REST Servis için Delphi'de yazılmış bir client örneği var mıdır?


RESTServis Logo Objects REST


NaciO

Onaylanmış Cevap

Uses kısmına şunları ekliyoruz;

uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IdBaseComponent,
 IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
 IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL,
 IdSSLOpenSSL, IdMessage, IdExplicitTLSClientServerBase, IdMessageClient, IdPOP3, IdURI;


Bir buton içerisinden ise şu yöntemle, dönen değerleri bir Memo nesnesine yazdırabiliriz;

procedure TForm11.Button1Click(Sender: TObject);
var
 lParamList: TStringList;
 lHTTP: TIdHTTP;
 lIOHandler: TIdSSLIOHandlerSocketOpenSSL;

begin

 lParamList := TStringList.Create;
 lParamList.Add('grant_type=password');
 lParamList.Add('username=LOGO');
 lParamList.Add('firmno=1');
 lParamList.Add('password=');

 lHTTP := TIdHTTP.Create;
 lIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);

//Bu kısım gelen/giden değerleri Fiddler ile yakalayabilmek için eklenmiştir
 lHTTP.IOHandler := lIOHandler;
 lHTTP.ProxyParams.ProxyServer := '127.0.0.1';
 lHTTP.ProxyParams.ProxyPort := 8888;

 lHTTP.Request.ContentType := 'application/json';
 lHTTP.Request.ContentEncoding := 'utf-8';
 lHTTP.Request.Accept := 'application/json, application/octet-stream';

 lHTTP.Request.CustomHeaders.FoldLines := False;
 lHTTP.Request.CustomHeaders.Add('Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
 lHTTP.Request.CustomHeaders.Add('cache-control: no-cache');
 lHTTP.Request.CustomHeaders.Add('Connection: keep-alive');

 try
 Memo1.Lines.Text := lHTTP.Post(
 'http://172.16.57.114:32001/api/v1/token',
 lParamList);
except
 on E : Exception do
 Memo1.Lines.Text := (E.ClassName + ' : '+E.Message);
 end;
 lHTTP.Free;
 lParamList.Free;

end;





17/07/18 10:35

Cevap vermek için giriş yapmanız gerekmektedir.