Merhabalar
Kimlik onayı doğrulamak için Idhttp ile bir sunucuya bağlanarak göndermekte olduğum verilerin geri dönüşüyle ilgili takıldığım bir nokta var resimleri ve kodu da aşağıda paylaşacağım
takıldığım mesele şu ki status 200 döndüğü zxaman sıkıntısız birr şekilde verilerimi alıp memo1 içine response yazdırabiliyorum ama 200 değilde 400 olarak döndüğü zaman onu yakalayamıyorum ve memo içine yazdıramıyorum ve ve sistem hatayı otomatik olarak messagebox şeklinde ekrana veriyor. acaba hatalı kullanımı nerde yaptım ?
kodu aşağıda paylaşıyorum postman ile karşılaştırmalı verilerimin resimlerini de aşağıya koyuyorum






unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
cxLookAndFeelPainters, cxContainer, cxEdit, dxSkinsCore, dxSkinBasic,
dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee,
dxSkinDarkroom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast,
dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White,
System.Net.HttpClientComponent, dxSkinOffice2016Colorful,
dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful,
dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven,
dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver,
dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld,
dxSkinTheBezier, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint,
dxSkinXmas2008Blue, Vcl.Menus, Vcl.StdCtrls, dxGDIPlusClasses, cxImage,
cxButtons, cxTextEdit, IdBaseComponent, System.JSON, IdComponent,
IdTCPConnection, DateUtils,
IdTCPClient, IdHTTP, Vcl.ComCtrls, dxCore, cxDateUtils, cxMaskEdit,
cxDropDownEdit, cxCalendar;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
cxSoyadED: TcxTextEdit;
cxAdEd: TcxTextEdit;
cxtcED: TcxTextEdit;
cxDateEdit1: TcxDateEdit;
cxImage2: TcxImage;
cxImage1: TcxImage;
IdHTTP1: TIdHTTP;
Kontrol: TcxButton;
Memo1: TMemo;
procedure KontrolClick(Sender: TObject);
private
procedure KimlikONay;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.KimlikONay();
Var
HTMLStream: TStringStream;
PostData: TStringList;
response, Error, status: string;
JSonValue: TJSonValue;
gun, ay, yil: String;
Begin
if cxDateEdit1.Text='' then
Begin
showmessage('Tarih Girin');
exit;
End;
PostData := TStringList.Create;
yil := YearOf(cxDateEdit1.Date).ToString;
ay := MonthOf(cxDateEdit1.Date).ToString;
gun := DayOf(cxDateEdit1.Date).ToString;
PostData.Add('method=verifiedTc');
PostData.Add('tc=' + cxtcED.Text);
PostData.Add('name=' + cxAdEd.Text);
PostData.Add('surname=' + cxSoyadED.Text);
PostData.Add('day=' + gun);
PostData.Add('month=' + ay);
PostData.Add('year=' + yil);
IdHTTP1.Request.CustomHeaders.Values['Authorization'] :='...........';response := IdHTTP1.Post('https:/....../..../.../index.php?SERVICE=Verified',PostData);
JSonValue := TJSONObject.ParseJSONValue(response);
status := JSonValue.GetValue<string>('status');
if (status = '200') then
Begin
Showmessage('Tc Kimlik No Onaylandı');
Showmessage(status);
Memo1.Text := response;
cxImage1.visible := True;
cxImage2.visible := False;
End;
if (status<>'200') then
Begin
Error := JSonValue.GetValue<string>('error');
Showmessage('Onaylanmadı');
Memo1.Text := response;
cxImage1.visible := False;
cxImage2.visible := True;
End;
Memo1.Text := response;
PostData.Free;
End;
procedure TForm1.KontrolClick(Sender: TObject);
begin
KimlikONay();
end;
end.
Kimlik onayı doğrulamak için Idhttp ile bir sunucuya bağlanarak göndermekte olduğum verilerin geri dönüşüyle ilgili takıldığım bir nokta var resimleri ve kodu da aşağıda paylaşacağım
takıldığım mesele şu ki status 200 döndüğü zxaman sıkıntısız birr şekilde verilerimi alıp memo1 içine response yazdırabiliyorum ama 200 değilde 400 olarak döndüğü zaman onu yakalayamıyorum ve memo içine yazdıramıyorum ve ve sistem hatayı otomatik olarak messagebox şeklinde ekrana veriyor. acaba hatalı kullanımı nerde yaptım ?
kodu aşağıda paylaşıyorum postman ile karşılaştırmalı verilerimin resimlerini de aşağıya koyuyorum






unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
cxLookAndFeelPainters, cxContainer, cxEdit, dxSkinsCore, dxSkinBasic,
dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee,
dxSkinDarkroom, dxSkinDarkSide, dxSkinDevExpressDarkStyle,
dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast,
dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky,
dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White,
System.Net.HttpClientComponent, dxSkinOffice2016Colorful,
dxSkinOffice2016Dark, dxSkinOffice2019Black, dxSkinOffice2019Colorful,
dxSkinOffice2019DarkGray, dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven,
dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver,
dxSkinSpringtime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld,
dxSkinTheBezier, dxSkinsDefaultPainters, dxSkinValentine,
dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint,
dxSkinXmas2008Blue, Vcl.Menus, Vcl.StdCtrls, dxGDIPlusClasses, cxImage,
cxButtons, cxTextEdit, IdBaseComponent, System.JSON, IdComponent,
IdTCPConnection, DateUtils,
IdTCPClient, IdHTTP, Vcl.ComCtrls, dxCore, cxDateUtils, cxMaskEdit,
cxDropDownEdit, cxCalendar;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
cxSoyadED: TcxTextEdit;
cxAdEd: TcxTextEdit;
cxtcED: TcxTextEdit;
cxDateEdit1: TcxDateEdit;
cxImage2: TcxImage;
cxImage1: TcxImage;
IdHTTP1: TIdHTTP;
Kontrol: TcxButton;
Memo1: TMemo;
procedure KontrolClick(Sender: TObject);
private
procedure KimlikONay;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.KimlikONay();
Var
HTMLStream: TStringStream;
PostData: TStringList;
response, Error, status: string;
JSonValue: TJSonValue;
gun, ay, yil: String;
Begin
if cxDateEdit1.Text='' then
Begin
showmessage('Tarih Girin');
exit;
End;
PostData := TStringList.Create;
yil := YearOf(cxDateEdit1.Date).ToString;
ay := MonthOf(cxDateEdit1.Date).ToString;
gun := DayOf(cxDateEdit1.Date).ToString;
PostData.Add('method=verifiedTc');
PostData.Add('tc=' + cxtcED.Text);
PostData.Add('name=' + cxAdEd.Text);
PostData.Add('surname=' + cxSoyadED.Text);
PostData.Add('day=' + gun);
PostData.Add('month=' + ay);
PostData.Add('year=' + yil);
IdHTTP1.Request.CustomHeaders.Values['Authorization'] :='...........';response := IdHTTP1.Post('https:/....../..../.../index.php?SERVICE=Verified',PostData);
JSonValue := TJSONObject.ParseJSONValue(response);
status := JSonValue.GetValue<string>('status');
if (status = '200') then
Begin
Showmessage('Tc Kimlik No Onaylandı');
Showmessage(status);
Memo1.Text := response;
cxImage1.visible := True;
cxImage2.visible := False;
End;
if (status<>'200') then
Begin
Error := JSonValue.GetValue<string>('error');
Showmessage('Onaylanmadı');
Memo1.Text := response;
cxImage1.visible := False;
cxImage2.visible := True;
End;
Memo1.Text := response;
PostData.Free;
End;
procedure TForm1.KontrolClick(Sender: TObject);
begin
KimlikONay();
end;
end.

