واجهة برمجة التطبيقات ووثائق المطورين
واجهة برمجة تطبيقات JSON صغيرة وسهلة التنبؤ. يتم تمرير نقاط النهاية عبر الخادم من خلال طبقة تجريد المزود الخاصة بنا، مع توحيد الاستجابة، والتخزين المؤقت الخفيف، والتعامل السلس مع الأخطاء.
نقاط النهاية (Endpoints)
GET /api/my-ip
ترجع بيانات الموقع الجغرافي والشبكة لعنوان IP العام للمستدعي، كما يراه الخادم.
curl https://ipcheck.mubarokah.com/api/my-ip
GET /api/lookup?q=<ip|domain>
ابحث عن أي عنوان IPv4 أو IPv6 أو مجال مجرد. يتم رفض المخططات (http/https) والمسارات.
curl "https://ipcheck.mubarokah.com/api/lookup?q=8.8.8.8"
POST /api/bulk
عمليات بحث دفعية (حتى 50 لكل طلب). يتم تحديد التزامن من جانب الخادم.
curl -X POST -H 'content-type: application/json' \
-d '{"queries":["8.8.8.8","1.1.1.1","example.com"]}' \
https://ipcheck.mubarokah.com/api/bulkشكل الاستجابة
{
"ok": true,
"query": "8.8.8.8",
"ip": "8.8.8.8",
"ipVersion": "IPv4",
"location": {
"continent": "North America",
"country": "United States",
"countryCode": "US",
"regionName": "Virginia",
"city": "Ashburn",
"zip": "20149",
"lat": 39.0438,
"lon": -77.4874,
"timezone": "America/New_York",
"utcOffsetSeconds": -14400,
"currency": "USD"
},
"network": {
"isp": "Google LLC",
"org": "Google Public DNS",
"as": "AS15169 Google LLC",
"asname": "GOOGLE",
"reverse": "dns.google"
},
"flags": { "mobile": false, "proxy": false, "hosting": true }
}الأخطاء
invalid_query— الإدخال ليس عنوان IP أو مجال صالح.rate_limited— تم الوصول إلى حد معدل المزود الرئيسي.provider_unreachable— الخادم الرئيسي غير متصل بالإنترنت.
حدود المعدل والتخزين المؤقت
يتم تخزين الاستجابات مؤقتًا من جانب الخادم لمدة 10 دقائق لكل استعلام. الفئة العامة المجانية للموفر الرئيسي محدودة المعدل ومخصصة للاستخدام غير التجاري. بالنسبة لحركة مرور الإنتاج، نوصي بتهيئة موفر تجاري من خلال متغيرات البيئة الموضحة أدناه.
تجريد المزود
قم بتعيين متغيرات البيئة التالية على الخادم. لا يتم كشف الأسرار أبدًا للمتصفح.
IP_PROVIDER=ip-api # or ip-api-pro IP_API_KEY=... # required for pro IP_API_BASE=http://ip-api.com
ملاحظات
- تحديد الموقع الجغرافي لعنوان IP هو تقدير تقريبي، وهو دقيق على مستوى المدينة أو المنطقة الحضرية في أفضل الأحوال.
- لا يمكن تحديد الموقع الجغرافي للنطاقات الخاصة والمحجوزة.
- لا تقوم واجهة برمجة التطبيقات بتسجيل محتوى الاستعلام بخلاف ما هو مطلوب للتخزين المؤقت.
