التوثيق / مرجع الواجهة
فحص عناوين IP بالجملة
يفحص عدة عناوين IP في استدعاء واحد ويُرجع نتيجة فحص كاملة لكل عنوان.
نظرة عامة#
يستقبل lookup/ip/bulk قائمة من عناوين IPv4 و/أو IPv6 مفصولة بفواصل في المعامل ips، مثل 1.1.1.1,2.2.2.2، ويُرجع لكل عنوان الإثراء نفسه الذي يقدمه فحص عنوان IP: الجغرافيا والشبكة والمنطقة الزمنية والعملة ومؤشرات الأمان. أرسل قائمة مفصولة بفواصل (حتى 50 عنوانًا في الطلب الواحد).
متى تستخدمه#
- ملء أو إعادة تقييم جدول من العناوين المخزّنة.
- مراجعة عناوين دفعة من الطلبات أو الجلسات في تمريرة واحدة.
- تقليل عدد الاستدعاءات حين يتضمن إجراء واحد للمستخدم عدة عناوين، كعنوان الاتصال وعنوان مُمرَّر.
لعنوان واحد فإن فحص عنوان IP أبسط ويُبقي الاستجابة مسطّحة.
قراءة النتيجة#
يحوي العنصر data إدخالًا لكل عنوان أرسلته، وشكل كل إدخال كشكل الفحص العادي. اقرأ كل إدخال على حدة:
security.isProxyمعsecurity.proxyTypeيبيّنان هل العنوان مُخفى الهوية وكيف.security.isHostingوisTorوisBotتشير إلى الأتمتة.security.blacklistedيدل على تطابق مع قوائمك السوداء.
احتفظ بسجلك الخاص لمعرفة أي مدخل أنتج أي إدخال، وتذكّر أن قيمة مكررة أو غير صحيحة في القائمة قد تُفشل الاستدعاء كله بالخطأ 112 (invalid_ip)، فنظّف القائمة قبل الإرسال.
ملاحظات#
- يُحتسب طلب API واحدًا لكل استدعاء. وضع الاختبار يُرجع بيانات وهمية مجانًا دون أحداث.
- مشمول في كل الباقات، مع خضوع وحدتي
securityوdeviceلميزات باقتك. - تُطبَّق القواعد المخصصة والقوائم السوداء نفسها المستخدمة في الفحص المفرد على كل عنوان.
- تُطلَق أحداث
suspicious_ipعند خطورة 50 من 100 فأكثر وتصل إلى الويب هوك. - استخدم
paramsلتقليص الوحدات وإبقاء الدفعات الكبيرة سريعة؛ راجع تخصيص الوحدات.
الطلب#
https://gurdx.cretip.com/api/lookup/ip/bulk
- صادِق بمعامل key أو بترويسة Authorization: Bearer.
- تُحتسب طلباً واحداً.
- متاحة في: تجربة مجانية القياسية المميّزة الدفع حسب الاستخدام
المعاملات#
| الاسم | النوع | الوصف |
|---|---|---|
ips
مطلوب
استعلام |
string |
The ips command is used to specify the IP address you want to lookup. Expected values: comma serarated IP addresses (IPv4 or IPv6) Sample value: 1.1.1.1,2.2.2.2
|
params
اختياري
استعلام |
string |
The params command can be used to specify the required modules you want to get in the response. Expected values: security, currency, timezone, location, and/or device Sample value: security,timezone,currency For more information please refer to Customize response modules.
|
تقبل كل خدمة أيضاً format, lang, mode, userID, callback. راجع الخيارات.
أمثلة برمجية#
curl -G "https://gurdx.cretip.com/api/lookup/ip/bulk" \
--data-urlencode "key=YOUR_API_KEY" \
--data-urlencode "ips=1.1.1.1,8.8.8.8"
<?php
$response = file_get_contents('https://gurdx.cretip.com/api/lookup/ip/bulk?'.http_build_query(['key' => 'YOUR_API_KEY', 'ips' => '1.1.1.1,8.8.8.8']));
$result = json_decode($response, true);
if ($result['status'] === 'success') {
print_r($result['data']);
} else {
echo $result['code'].': '.$result['description'];
}
const params = new URLSearchParams({"key":"YOUR_API_KEY","ips":"1.1.1.1,8.8.8.8"});
const res = await fetch(`https://gurdx.cretip.com/api/lookup/ip/bulk?${params}`);
const result = await res.json();
if (result.status === 'success') {
console.log(result.data);
} else {
console.error(result.code, result.description);
}
import requests
res = requests.get("https://gurdx.cretip.com/api/lookup/ip/bulk", params={"key": "YOUR_API_KEY", "ips": "1.1.1.1,8.8.8.8"})
result = res.json()
if result["status"] == "success":
print(result["data"])
else:
print(result["code"], result["description"])
الاستجابة#
نجاح#
{
"data": {
"1.1.1.1": {
"ip": "165.227.149.217",
"ipType": "IPv4",
"IPNumber": 2783155673,
"bogon": false,
"continentName": "Europe",
"continentCode": "EU",
"countryCode": "DE",
"continentGeoNameID": 6255148,
"countryName": "Germany",
"countryGeoNameID": 2921044,
"regionName": "Hessen",
"cityName": "Frankfurt am Main",
"zipCode": "65931",
"latitude": "50.115520",
"longitude": "8.684170",
"location": {
"capital": "Berlin",
"population": 83783942,
"language": {
"name": "German",
"code": "de",
"native": "Deutsch"
},
"flag": {
"emoji": "🇩🇪",
"unicode": "U+1F1E9 U+1F1EA",
"png": {
"1000px": "https://gurdx.cretip.com/flags/png1000px/de.png",
"250px": "https://gurdx.cretip.com/flags/png250px/de.png",
"100px": "https://gurdx.cretip.com/flags/png100px/de.png"
},
"svg": "https://gurdx.cretip.com/flags/svg/de.svg"
},
"phoneCode": "49",
"countryIsEU": true,
"countryNeighbours": "CH,PL,NL,DK,BE,CZ,LU,FR,AT",
"tld": ".de"
},
"currency": {
"currencyName": "Euro",
"currencyCode": "EUR",
"currencySymbol": "€"
},
"asn": {
"asn": "AS14061",
"name": "DIGITALOCEAN-ASN",
"org": "DigitalOcean, LLC",
"phone": "+1-347-875-6044",
"email": "noc@digitalocean.com",
"domain": "digitalocean.com",
"created": "2012-05-14",
"type": "hosting"
},
"timezone": {
"name": "Europe/Berlin",
"abbreviation": "CET",
"offset": 3600,
"currentTime": "03:33:13",
"currentTimestamp": 1709519593,
"isDST": false,
"sunInfo": {
"sunset": "18:14:11",
"sunrise": "06:59:29",
"transit": "12:36:50",
"civilTwilightBegin": "06:28:47",
"civilTwilightEnd": "18:44:53",
"nauticalTwilightBegin": "05:51:20",
"nauticalTwilightEnd": "19:22:21",
"astronomicalTwilightBegin": "05:13:27",
"astronomicalTwilightEnd": "20:00:13",
"dayLength": "11:14:42"
}
},
"security": {
"isProxy": true,
"proxyType": "VPN",
"isTor": false,
"isBot": false,
"isRelay": false,
"isHosting": true,
"blacklisted": false
},
"custom_rules_applied": {
"total": 0,
"rules": []
}
},
"8.8.8.8": {
"ip": "8.8.8.8",
"ipType": "IPv4",
"IPNumber": 2783155673,
"bogon": false,
"continentName": "Europe",
"continentCode": "EU",
"countryCode": "DE",
"continentGeoNameID": 6255148,
"countryName": "Germany",
"countryGeoNameID": 2921044,
"regionName": "Hessen",
"cityName": "Frankfurt am Main",
"zipCode": "65931",
"latitude": "50.115520",
"longitude": "8.684170",
"location": {
"capital": "Berlin",
"population": 83783942,
"language": {
"name": "German",
"code": "de",
"native": "Deutsch"
},
"flag": {
"emoji": "🇩🇪",
"unicode": "U+1F1E9 U+1F1EA",
"png": {
"1000px": "https://gurdx.cretip.com/flags/png1000px/de.png",
"250px": "https://gurdx.cretip.com/flags/png250px/de.png",
"100px": "https://gurdx.cretip.com/flags/png100px/de.png"
},
"svg": "https://gurdx.cretip.com/flags/svg/de.svg"
},
"phoneCode": "49",
"countryIsEU": true,
"countryNeighbours": "CH,PL,NL,DK,BE,CZ,LU,FR,AT",
"tld": ".de"
},
"currency": {
"currencyName": "Euro",
"currencyCode": "EUR",
"currencySymbol": "€"
},
"asn": {
"asn": "AS14061",
"name": "DIGITALOCEAN-ASN",
"org": "DigitalOcean, LLC",
"phone": "+1-347-875-6044",
"email": "noc@digitalocean.com",
"domain": "digitalocean.com",
"created": "2012-05-14",
"type": "hosting"
},
"timezone": {
"name": "Europe/Berlin",
"abbreviation": "CET",
"offset": 3600,
"currentTime": "03:33:13",
"currentTimestamp": 1709519593,
"isDST": false,
"sunInfo": {
"sunset": "18:14:11",
"sunrise": "06:59:29",
"transit": "12:36:50",
"civilTwilightBegin": "06:28:47",
"civilTwilightEnd": "18:44:53",
"nauticalTwilightBegin": "05:51:20",
"nauticalTwilightEnd": "19:22:21",
"astronomicalTwilightBegin": "05:13:27",
"astronomicalTwilightEnd": "20:00:13",
"dayLength": "11:14:42"
}
},
"security": {
"isProxy": true,
"proxyType": "VPN",
"isTor": false,
"isBot": false,
"isRelay": false,
"isHosting": true,
"blacklisted": false
},
"custom_rules_applied": {
"total": 0,
"rules": []
}
}
},
"status": "success",
"executionTime": 9
}خطأ#
تُسلَّم الأخطاء بحالة HTTP 200 — افحص دائماً حقل status.
{
"status": "error",
"code": 101,
"type": "invalid_key",
"description": "The API Key is missing or invalid."
}وجدت خطأ؟ أخبرنا عبر صفحة التواصل. تواصل معنا