-
Notifications
You must be signed in to change notification settings - Fork 31
Description
سلام خسته نباشین
من با دلفی کد میزنم ، خواستم که Api شمار رو استفاد کنم خطاهای امنیتی دارم
نمونه کد با Indy
procedure TForm1.BitBtn1Click(Sender: TObject);
var
data: string;
DataToSend : TStringStream;
IdHTTP: TIdHTTP;
Answer: string;
LHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
try
//data := 'srcCurrency=btc \ dstCurrency=usdt';
data:='';
DataToSend := TStringStream.Create(data, TEncoding.UTF8);
try
LHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
IdHTTP := TIdHTTP.Create(nil);
try
IdHTTP.IOHandler:=LHandler;
IdHTTP.Request.UserAgent :=
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
IdHTTP.HandleRedirects := true;
IdHTTP.ReadTimeout := 5000;
// IdHTTP.Request.Accept:= 'application/json';
// IdHTTP.Request.ContentType:= 'application/x-www-form-urlencoded';
IdHTTP.Request.Accept := 'application/json, text/plain;q=0.9, text/html;q=0.8';
IdHTTP.Request.ContentType := 'application/json';
Answer := IdHTTP.Post('https://api.nobitex.ir/market/global-stats', DataToSend);
finally
LHandler.Free;
IdHTTP.Free;
end;
finally
DataToSend.Free;
end;
ShowMessage(Answer);
except
on E: Exception do
ShowMessage('Error: '+E.ToString);
end;
end;
نمونه کد با REST Client
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
RESTClient1.BaseURL := 'https://api.nobitex.ir/market/global-stats';
RESTRequest1.Method := TRESTRequestMethod.rmGET;
RESTRequest1.Resource := 'auth/user';
RESTRequest1.Accept := 'application/json';
RESTRequest1.Params.Clear;
RESTRequest1.Timeout := -1;
RESTRequest1.AddParameter('symbol', 'BTCIRT');
{
with RESTRequest1.Params.AddItem do
begin
Name := 'X-Authorization'; // 'Authorization'
Value := 'Bearer "'+Strtoken+'"';
Kind := pkHTTPHEADER;
end;
}
try
RESTRequest1.Execute;
except
on E: Exception do
ShowMessage('Error: '+E.ToString);
end;
end;