
مكتبة تحديد الموقع الجغرافي IP.
يتم تنفيذه في لغة دلفي ، ويستخدم مفهوم الواجهة بطلاقة لتوجيه استخدام المكتبة.
تم تطوير المكتبة باستخدام اللاعبين الرئيسيين في سوق حلول "محدد IP-GoolCing" ، المرفق بقائمة مقدمي الخدمات المعتمدين.
يعد الموقع الجغرافي المستند إلى عنوان IP تقنية تستخدم لتقدير الموقع الجغرافي لجهاز متصل بالإنترنت باستخدام عنوان IP الخاص به. تعتمد هذه الآلية على أن عنوان IP الخاص بالجهاز يظهر في قاعدة بيانات مع موقعه أو عنوانه البريدي أو المدينة أو البلد أو المنطقة أو الإحداثيات الجغرافية ، والتي هي بعض مستويات التفاصيل التي يمكن تسجيلها.
لمزيد من المعلومات: تحديد الموقع الجغرافي IPS
هذه التكنولوجيا تستخدم على نطاق واسع في:
التسويق الجغرافي
اتجاه المحتوى
التحكم في الوصول (المحتوى/الخدمات)
حماية
| مزود | موقع إلكتروني | API | طلبات مجانية |
|---|---|---|---|
| IP2LOCATION | https://www.ip2location.com | https://api.ip2location.com/v2 | 10000 سنة |
| تحديد الموقع | https://ipgeolocation.io | https://api.ipgeolocation.io/ipgeo | 1500 يوميا |
| Ipstack | https://ipstack.com | http://api.ipstack.com | 10000 شهري |
| ipify | https://geo.ipify.org | https://geo.ipify.org/api/V1 | 1000 شهري |
| ipapi | https://ipapi.com | http://api.ipapi.com/api | 10000 سنة |
| ipinfo | https://ipinfo.io | https://ipinfo.io | 50000 شهري |
| ipgeolocationapi | https://ipgeolocationapi.com | https://api.ipgeolocationapi.com/geolocate | غير محدود |
| ipwhois | https://ipwhois.io | http://ipwhois.app | 10000 شهري |
| IPDIG | https://ipdig.io | https://ipdig.io | غير محدود |
| ipdata | https://ipdata.co | https://api.ipdata.co | 1500 يوميا |
| iPlabstack | https://labstack.com/ip | https://ip.labstack.com/API/V1 | 10000 شهري |
| iptwist | https://iptwist.com | https://iptwist.com | 1000 شهري |
| IP-API | https://ip-api.com | http://ip-api.com | غير محدود |
| DB-IP | https://db-ip.com | http://api.db-ip.com/v2 | غير محدود |
باستخدام BOSS (DERENTER ANAGER لـ DELPHI) ، يمكنك تثبيت المكتبة تلقائيًا.
boss install github.com/antoniojmsjr/IPGeoLocation
Project> Options> Delphi Compiler> Target> جميع التكوينات> مسار البحث
..IPGeoLocationSource
uses IPGeoLocation, IPGeoLocation.Interfaces, IPGeoLocation.Types; var
lMsgError: string;
lGeoLocation: IGeoLocation;
begin
try
lGeoLocation := TIPGeoLocation.New
.IP[ ' 201.86.220.241 ' ]
.Provider[TIPGeoLocationProviderKind.IPInfo]
// .SetTimeout(5000) //[OPCIONAL]
// .SetAPIKey('TOKEN') //[OPCIONAL]: VERIFICAR ARQUIVO: APIKey.inc
.Request
// .SetResultLanguageCode('pt-br') //[OPCIONAL]
.Execute;
Application.MessageBox(PWideChar(lGeoLocation.ToJSON), ' JSON ' , MB_OK + MB_ICONINFORMATION); // JSON COM O RESULTADO DA GEOLOCALIZAÇÃO
except
on E: EIPGeoLocationRequestException do
begin
lMsgError := Concat(lMsgError, Format( ' IP: %s ' , [E.IP]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' IPVersion: %s ' , [E.IPVersion]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Provider: %s ' , [E.Provider]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' DateTime: %s ' , [DateTimeTostr(E.DateTime)]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Kind: %s ' , [E.Kind.AsString]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' URL: %s ' , [E.URL]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Method: %s ' , [E.Method]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Status Code: %d ' , [E.StatusCode]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Status Text: %s ' , [E.StatusText]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Message: %s ' , [E.Message]));
Application.MessageBox(PWideChar(lMsgError), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
end ;
on E: Exception do
begin
Application.MessageBox(PWideChar(E.Message), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
end ;
end ;
end ;

IPGeoLocation مجاني ومفتوح المصدر مرخصة بموجب