![]() |
|
مثال عن api ipinfo كنسول - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : مصادر دلفي مفتوحة تعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=14) +--- الموضوع : مثال عن api ipinfo كنسول (/showthread.php?tid=10734) |
مثال عن api ipinfo كنسول - onexite - 03-04-2020 برمجته منذ مدة كبيرة وجدته بالصدفة واردت مشاركته PHP كود : program Project2;RE: مثال عن api ipinfo كنسول - fhol - 15-05-2020 بارك للخ فيك على المجهودات و لكن الرابط لا يعمل في الملف المرفق و بوركت الجهود خويا RE: مثال عن api ipinfo كنسول - haniid - 09-02-2023 السلام عليكم نفس المثال لاكن باستعمال وحدات RESTRequest4D المثال يعمل على win + android -------------- نعرف متغير لتنفيد api التى يوفرها الموقع يمكن التسجيل فى الموقع للحصول على your free api key PHP كود : BaseUrl: string; PHP كود : uses RESTRequest4D, System.JSON, System.JSON.Readers; تنفيد الامر GET كود : function TForm18.ExecuteGet(sBaseUrl: string): string;
var
LResponse: IResponse;
begin
LResponse := TRequest.New.BaseURL(sBaseUrl)
.Accept('application/json')
.Get;
Result := LResponse.Content;
end;عند الحصول على json نستخرج المعلومات التى نريدها كود : function TForm18.ExtractData(JSonData: string): TStringList;
var
JSONValue: TJSONValue;
begin
JSONValue := TJSONObject.ParseJSONValue(JSonData, False, False);
Result := TStringList.Create;
try
if JSONValue is TJSONArray then
//...
else if JSONVAlue is TJSONObject then
begin
Result.Add(JSONValue.GetValue<string>('statusCode'));
Result.Add(JSONValue.GetValue<string>('statusMessage'));
Result.Add(JSONValue.GetValue<string>('ipAddress'));
Result.Add(JSONValue.GetValue<string>('countryCode'));
Result.Add(JSONValue.GetValue<string>('countryName'));
Result.Add(JSONValue.GetValue<string>('regionName'));
Result.Add(JSONValue.GetValue<string>('cityName'));
Result.Add(JSONValue.GetValue<string>('zipCode'));
Result.Add(JSONValue.GetValue<string>('latitude'));
Result.Add(JSONValue.GetValue<string>('longitude'));
Result.Add(JSONValue.GetValue<string>('timeZone'));
end;
finally
JSONValue.Free;
end;
end;تنفيد العملية كود : Memo1.Lines := ExtractData(ExecuteGet(BaseUrl)); |