با API آیپی و شبکه ipmyp میتوانید دریافت IP عمومی، GeoIP، بررسی DNS، WHOIS، SSL، پینگ، تریسروت، MTR، بررسی پورت و سایر ابزارهای عیبیابی شبکه را داخل وبسایت، نرمافزار، پنل مدیریت، سرویس SaaS، سیستم مانیتورینگ یا فرآیندهای DevOps خود استفاده کنید.
در ipmyp دو نوع API با کاربرد متفاوت وجود دارد: API عمومی IP و GeoIP که بدون ثبتنام و بدون API Key قابل استفاده است و API احرازشده ابزارهای شبکه که برای استفاده از DNS، WHOIS، SSL، Ping، Traceroute، MTR، Port Check و سایر بررسیهای پیشرفته به حساب کاربری و کلید API نیاز دارد.
تفاوت API عمومی و API احرازشده ipmyp
| قابلیت | API عمومی IP | API احرازشده ابزارهای شبکه |
|---|---|---|
| آدرس اصلی | api.ipmyp.ir | ipmyp.ir/wp-json/ipmyp/v1/ |
| نیاز به ثبتنام | خیر | بله |
| نیاز به API Key | خیر | بله |
| دریافت IP عمومی | بله | از طریق ابزارهای IP |
| GeoIP | بله | بله |
| DNS / WHOIS / SSL | خیر | بله |
| Ping / Traceroute / MTR | خیر | بسته به پلن و دسترسی |
| بررسی پورت | خیر | بله، مطابق سیاست امنیتی |
| سهمیه حساب | ندارد | دارد |
| Rate Limit | دارد | دارد |
| کاربرد اصلی | دریافت IP و GeoIP سبک | مانیتورینگ، SaaS، اتوماسیون و عیبیابی شبکه |
API عمومی IP و GeoIP؛ بدون ثبتنام و API Key
API عمومی ipmyp سادهترین روش برای دریافت IP عمومی اتصال شما و اطلاعات GeoIP و شبکه است. برای استفاده از این بخش نیازی به ساخت حساب کاربری، ثبتنام یا دریافت API Key ندارید.
Endpointهای عمومی برای حفظ پایداری سرویس دارای Rate Limit و کنترلهای جلوگیری از سوءاستفاده هستند. سطح عمومی بدون احراز هویت عمداً به مسیرهای مرتبط با IP و GeoIP محدود شده است.
دریافت IP عمومی با API
GET https://api.ipmyp.ir/
نمونه پیشنهادی با cURL:
curl https://api.ipmyp.ir
برای استفاده سریع در ترمینال، مسیر عمومی بدون نوشتن https:// نیز پشتیبانی میشود:
curl api.ipmyp.ir
خروجی بهصورت متن ساده و شامل IP عمومی مشاهدهشده توسط ipmyp است:
1.2.3.4
این Endpoint برای اسکریپتهای Shell، تشخیص IP خروجی سرور، بررسی VPN و Proxy، تنظیم Allowlist، فایروال، CI/CD، کانتینرها، سرورها و سایر فرآیندهای DevOps که فقط به IP عمومی نیاز دارند مناسب است.
دریافت اطلاعات IP بهصورت JSON
GET https://api.ipmyp.ir/json
curl https://api.ipmyp.ir/json
خروجی JSON میتواند شامل اطلاعات موجود درباره کشور، استان یا منطقه، شهر، مختصات، منطقه زمانی، ISP، سازمان، ASN، Reverse DNS، شبکه موبایل، Proxy، Hosting و IP بررسیشده باشد.
{
"status": "success",
"continent": "Asia",
"continentCode": "AS",
"country": "Iran",
"countryCode": "IR",
"region": "07",
"regionName": "Tehran",
"city": "Tehran",
"lat": 35.6944,
"lon": 51.4215,
"timezone": "Asia/Tehran",
"isp": "Example ISP",
"org": "Example ISP",
"as": "AS12345 Example ISP",
"mobile": false,
"proxy": false,
"hosting": false,
"query": "1.2.3.4"
}
مقادیر بالا فقط نمونه ساختار پاسخ هستند. اطلاعات واقعی بسته به IP و دادههای موجود برای آن آدرس متفاوت است.
استعلام یک IP یا دامنه دیگر
برای بررسی IP مشخص، آن را بعد از /json/ قرار دهید:
curl https://api.ipmyp.ir/json/8.8.8.8
نسخه کوتاه مخصوص CLI نیز قابل استفاده است:
curl api.ipmyp.ir/json/8.8.8.8
در صورت پشتیبانی، میتوانید نام دامنه را نیز ارسال کنید:
curl https://api.ipmyp.ir/json/example.com
دریافت فقط فیلدهای موردنیاز
برای کاهش حجم پاسخ میتوانید با پارامتر fields فقط اطلاعاتی را که واقعاً نیاز دارید درخواست کنید:
curl "https://api.ipmyp.ir/json/8.8.8.8?fields=status,country,countryCode,isp,as,query"
خلاصه Endpointهای عمومی
| متد | مسیر | کاربرد | احراز هویت |
|---|---|---|---|
GET | / | دریافت IP عمومی کاربر بهصورت متن ساده | نیاز ندارد |
GET | /json | دریافت IP کاربر و اطلاعات GeoIP/شبکه | نیاز ندارد |
GET | /json/{query} | استعلام IP عمومی یا دامنه پشتیبانیشده | نیاز ندارد |
HTTP و HTTPS؛ آیا بدون https هم کار میکند؟
بله. مسیرهای عمومی / و /json از HTTP و HTTPS پشتیبانی میکنند؛ بنابراین در محیط خط فرمان دستورهایی مانند curl api.ipmyp.ir نیز قابل استفاده هستند.
برای کدهای Production، نرمافزارها و Integrationهای واقعی توصیه میشود همیشه HTTPS را بهصورت صریح وارد کنید. استفاده از HTTPS ارتباط را رمزنگاری میکند و رفتار کلاینت، Proxy و زیرساختهای مختلف را قابل پیشبینیتر نگه میدارد.
curl https://api.ipmyp.ir
curl https://api.ipmyp.ir/json
curl https://api.ipmyp.ir/json/8.8.8.8
Rate Limit در API عمومی
API عمومی برای جلوگیری از سوءاستفاده و حفظ کیفیت سرویس دارای Rate Limit است. در صورتی که تعداد درخواستها از حد مجاز عبور کند، ممکن است پاسخ HTTP 429 Too Many Requests دریافت کنید.
در برنامههای خود برای پاسخ 429 از Retry کنترلشده و Backoff استفاده کنید و از ارسال حلقهای درخواست بدون وقفه خودداری کنید.
چه زمانی از API عمومی استفاده کنیم؟
API عمومی برای نمایش «آیپی من»، تشخیص IP خروجی سرور، بررسی IP VPN یا Proxy، دریافت GeoIP، مشاهده ISP و ASN، ثبت اطلاعات شبکه در لاگها، تنظیم Dynamic Allowlist، اسکریپتهای DevOps و سایر کاربردهایی مناسب است که فقط به IP یا اطلاعات سبک GeoIP نیاز دارند و استفاده از API Key ضروری نیست.
API احرازشده ابزارهای شبکه
برای استفاده از ابزارهای پیشرفتهتر مانند DNS Lookup، WHOIS، SSL، Ping، Traceroute، MTR، Port Check، DNSSEC، DNS Propagation، Email Security و گزارشهای شبکه، از API احرازشده ipmyp استفاده کنید.
این API برای توسعهدهندگان، مدیران سیستم، تیمهای DevOps و SRE، شرکتهای هاستینگ، سرویسهای SaaS، سیستمهای مانیتورینگ و پشتیبانی فنی طراحی شده است و نیاز به حساب کاربری و API Key دارد.
شروع سریع API احرازشده
- وارد حساب کاربری ipmyp شوید یا حساب جدید بسازید.
- در پنل کاربری وارد بخش API Keys شوید.
- یک کلید API با دسترسیهای موردنیاز برنامه ایجاد کنید.
- کلید کامل را بلافاصله در محل امن ذخیره کنید.
- کلید را در هدر
Authorization: Bearerارسال کنید. - شناسه دقیق ابزار را در فیلد
toolقرار دهید. - دامنه، IP یا مقصد موردنظر را در فیلد
targetارسال کنید. - پاسخ ساختاریافته و وضعیت سهمیه را پردازش کنید.
Endpoint اصلی API ابزارهای شبکه
POST https://ipmyp.ir/wp-json/ipmyp/v1/tools/run
این Endpoint قبل از اجرای ابزار، API Key، وضعیت کلید، دسترسیها، ابزار انتخابشده، مقصد، محدودیتهای امنیتی، سهمیه حساب و محدودیت استفاده را بررسی میکند.
احراز هویت با API Key
Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx
Content-Type: application/json
کلید API یک Credential امنیتی است. آن را فقط در Backend، Environment Variable، Secret Manager یا محیط امن سمت سرور نگهداری کنید.
کلید API را در JavaScript سمت مرورگر، سورس عمومی، GitHub، اسکرینشات، فایل قابل دانلود یا اپلیکیشن Client-side قرار ندهید.
ساختار درخواست
| فیلد | الزامی | توضیح | نمونه |
|---|---|---|---|
tool | بله | شناسه دقیق ابزار API | dns_a |
target | بله | دامنه، Hostname، IP یا مقصد پشتیبانیشده | example.com |
{
"tool": "dns_a",
"target": "example.com"
}
نمونه کامل cURL:
curl -X POST "https://ipmyp.ir/wp-json/ipmyp/v1/tools/run" \
-H "Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"tool":"dns_a","target":"example.com"}'
شناسه ابزارهای API
مقدار tool باید دقیقاً مطابق شناسه API باشد. فعال بودن هر ابزار میتواند به پلن، مجوز API Key، تنظیمات مدیر و سیاستهای امنیتی بستگی داشته باشد.
| شناسه API | کاربرد | نمونه مقصد |
|---|---|---|
multi | گزارش ترکیبی DNS و شبکه | example.com |
dns_a | بررسی رکورد A و IPv4 | example.com |
dns_aaaa | بررسی رکورد AAAA و IPv6 | example.com |
dns_mx | بررسی Mail Exchanger | example.com |
dns_ns | بررسی Name Server | example.com |
dns_txt | TXT / SPF / DKIM / DMARC | example.com |
dns_cname | بررسی CNAME | www.example.com |
dns_soa | بررسی SOA | example.com |
dns_caa | بررسی CAA | example.com |
dnssec_check | بررسی DNSSEC | example.com |
email_security | بررسی امنیت ایمیل و DNS | example.com |
delegation_check | تحلیل DNS Delegation | example.com |
dns_propagation | بررسی DNS Propagation | example.com |
reverse_dns | Reverse DNS / PTR | 8.8.8.8 |
ip_geo | GeoIP و مشخصات شبکه | 8.8.8.8 |
whois | اطلاعات ثبت دامنه | example.com |
ssl_info | اطلاعات SSL/TLS و HTTPS | example.com |
port_check | بررسی دسترسی TCP Port مجاز | example.com:443 |
ping | بررسی دسترسی و Latency | example.com |
trace_route | بررسی مسیر شبکه | example.com |
mtr | بررسی مسیر، Latency و Packet Loss | example.com |
اگر قصد استفاده دستی از این ابزارها را دارید، وارد صفحه مجموعه ابزار DNS Lookup، WHOIS و شبکه ipmyp شوید.
نمونه DNS Lookup API
curl -X POST "https://ipmyp.ir/wp-json/ipmyp/v1/tools/run" \
-H "Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"tool":"dns_a","target":"example.com"}'
برای بررسی دستی میتوانید از ابزار بررسی رکورد A دامنه استفاده کنید.
نمونه WHOIS API
curl -X POST "https://ipmyp.ir/wp-json/ipmyp/v1/tools/run" \
-H "Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"tool":"whois","target":"example.com"}'
نسخه تحت وب در ابزار WHOIS دامنه در دسترس است.
نمونه SSL API
curl -X POST "https://ipmyp.ir/wp-json/ipmyp/v1/tools/run" \
-H "Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"tool":"ssl_info","target":"example.com"}'
برای تست دستی از ابزار بررسی SSL و HTTPS استفاده کنید.
نمونه Traceroute API
شناسه صحیح API برای Traceroute برابر trace_route است.
curl -X POST "https://ipmyp.ir/wp-json/ipmyp/v1/tools/run" \
-H "Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"tool":"trace_route","target":"example.com"}'
نسخه آنلاین در صفحه Traceroute آنلاین در دسترس است.
نمونه Port Check API
شناسه صحیح API برای بررسی پورت port_check است. بررسیهای Active Network تابع سیاستهای امنیتی و اعتبارسنجی مقصد ipmyp هستند.
curl -X POST "https://ipmyp.ir/wp-json/ipmyp/v1/tools/run" \
-H "Authorization: Bearer ipmyp_live_xxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"tool":"port_check","target":"example.com:443"}'
برای بررسی دستی میتوانید از پورت اسکن و بررسی پورت آنلاین استفاده کنید.
خطاها، سهمیه و محدودیت API
| وضعیت | معنی | اقدام پیشنهادی |
|---|---|---|
| API Key نامعتبر | کلید وجود ندارد، نامعتبر است یا لغو شده است. | Bearer Token را بررسی یا Rotate کنید. |
| عدم دسترسی | API Key مجوز ابزار موردنظر را ندارد. | Permission کلید را بررسی کنید. |
| اتمام سهمیه | محدودیت کلید یا پلن به پایان رسیده است. | تا Reset منتظر بمانید یا پلن را بررسی کنید. |
HTTP 429 | Rate Limit فعلی رد شده است. | با Backoff بعداً دوباره تلاش کنید. |
| Invalid Target | دامنه، IP یا مقصد معتبر نیست. | ورودی را اصلاح کنید. |
| Blocked Target | مقصد توسط سیاست امنیتی رد شده است. | مقاصد ممنوع یا خصوصی را مجدداً ارسال نکنید. |
| خطای موقت 5xx | اختلال موقت سرویس یا Upstream رخ داده است. | با Exponential Backoff و Jitter مجدداً تلاش کنید. |
Best Practice برای استفاده Production
در محیط Production همیشه از URL صریح HTTPS استفاده کنید، API Key را فقط در Backend نگه دارید، برای Production و Staging کلیدهای جداگانه بسازید، اصل Least Privilege را رعایت کنید، Timeout مناسب برای اتصال و Request داشته باشید، مقصد را قبل از ارسال Validate کنید و مصرف API را مانیتور کنید.
برای خطاهای موقت شبکه، برخی پاسخهای 5xx و خطای 429 از Retry محدود با Exponential Backoff و Jitter استفاده کنید. خطاهای Authentication، Permission و Validation را بدون اصلاح Request بهصورت خودکار Retry نکنید.
در Lookupهایی که نیاز به داده کاملاً لحظهای ندارند میتوانید از Cache کنترلشده استفاده کنید. هیچگاه API Secret کامل را داخل Log ذخیره نکنید؛ برای عیبیابی از Request ID، HTTP Status، Error Code، Tool ID و اطلاعات غیرحساس استفاده کنید.
نمونه استفاده در PHP
<?php
$apiKey = getenv('IPMYP_API_KEY');
$ch = curl_init('https://ipmyp.ir/wp-json/ipmyp/v1/tools/run');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $apiKey,
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'tool' => 'dns_a',
'target' => 'example.com',
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($status >= 400) {
throw new RuntimeException('IPMYP API request failed.');
}
print_r(json_decode($response, true));
نمونه استفاده در Python
import os
import requests
response = requests.post(
"https://ipmyp.ir/wp-json/ipmyp/v1/tools/run",
headers={
"Authorization": f"Bearer {os.environ['IPMYP_API_KEY']}",
"Content-Type": "application/json",
},
json={
"tool": "dns_a",
"target": "example.com",
},
timeout=30,
)
response.raise_for_status()
print(response.json())
کاربردهای API ipmyp
APIهای ipmyp برای نمایش آیپی من، تشخیص IP خروجی سرور، GeoIP، بررسی VPN و Proxy، پنلهای هاستینگ، سرویسهای SaaS، اعتبارسنجی DNS، بررسی SSL، WHOIS، مانیتورینگ، DevOps، عیبیابی شبکه، پشتیبانی فنی، مهاجرت سرور و CDN، بررسی امنیت ایمیل و صحت پیکربندی زیرساخت قابل استفاده هستند.
سوالات متداول API ipmyp
آیا ipmyp API عمومی بدون ثبتنام دارد؟
بله. برای استفاده از https://api.ipmyp.ir و Endpointهای عمومی /json نیازی به حساب کاربری یا API Key ندارید. Rate Limit و کنترلهای جلوگیری از سوءاستفاده همچنان اعمال میشوند.
آیا curl api.ipmyp.ir بدون https کار میکند؟
بله. مسیرهای عمومی IP و JSON از HTTP نیز پشتیبانی میکنند و دستور curl api.ipmyp.ir قابل استفاده است. با این حال در کد Production بهتر است همیشه https:// را صریحاً وارد کنید.
چطور IP عمومی خودم را با API دریافت کنم؟
curl https://api.ipmyp.ir
چطور اطلاعات IP را بهصورت JSON دریافت کنم؟
curl https://api.ipmyp.ir/json
آیا میتوان IP دیگری را استعلام کرد؟
curl https://api.ipmyp.ir/json/8.8.8.8
برای DNS، WHOIS، SSL و Traceroute به API Key نیاز است؟
بله. ابزارهای پیشرفته شبکه از API احرازشده ipmyp استفاده میکنند و نیازمند حساب کاربری و API Key دارای مجوز مناسب هستند.
شناسه API تریسروت چیست؟
شناسه صحیح Traceroute برابر trace_route است.
شناسه API بررسی پورت چیست؟
شناسه صحیح Port Check برابر port_check است.
شروع استفاده از API ipmyp
اگر فقط به دریافت IP عمومی یا GeoIP نیاز دارید، مستقیماً از api.ipmyp.ir استفاده کنید؛ ثبتنام و API Key لازم نیست.
اگر به DNS، WHOIS، SSL، Ping، Traceroute، MTR، Port Check، ابزارهای پیشرفته شبکه، اتوماسیون، سهمیه کاربری و مدیریت دسترسی نیاز دارید، حساب ipmyp ایجاد کرده و API Key اختصاصی بسازید.
