وثائق API
نظرة عامة
يوفر 301check.com واجهة برمجة مجانية لتحليل سلسلة إعادة التوجيه HTTP يمكنك دمجها مباشرة في تطبيقاتك. بدون تسجيل، بدون مفتاح API — فقط أرسل طلب POST واحصل على النتائج.
✨ ميزات API
- مجاني بالكامل، بدون تسجيل
- يدعم جميع أنواع إعادة التوجيه HTTP (301/302/303/307/308)
- يُرجع سلسلة إعادة التوجيه الكاملة
- يتضمن أوقات الاستجابة وعناوين IP للخوادم وتفاصيل شهادات TLS
- استجابات JSON، سهلة التحليل
- رسائل خطأ ثنائية اللغة عبر معامل
lang
نقطة النهاية
POST
https://www.301check.com/check.phpصيغة الطلب
الترويسات
Content-Type: application/json
جسم الطلب
{
"url": "https://example.com",
"lang": "en"
}
المعاملات
url(مطلوب) — الرابط المراد فحصه؛ يدعم HTTP وHTTPSlang(اختياري) — لغة رسائل الخطأ:enأوzh. الافتراضي هو الكشف التلقائي عبرAccept-Language.
⚠️ صيغة الرابط
يجب أن يتضمن الرابط البروتوكول (http:// أو https://). إذا مررت نطاقاً بدون بروتوكول مثل example.com، ستضيف API تلقائياً http://.
صيغة الاستجابة
نجاح
{
"success": true,
"timestamp": "2026-02-22T10:00:00+08:00",
"inputUrl": "https://example.com",
"finalUrl": "https://www.example.com",
"totalRedirects": 1,
"totalTime": 0.390,
"loopDetected": false,
"maxRedirectsReached": false,
"redirects": [
{
"hop": 1,
"statusCode": 301,
"statusMessage": "Moved Permanently",
"type": "permanent",
"from": "https://example.com",
"to": "https://www.example.com",
"duration": 0.234,
"ip": "93.184.216.34",
"server": "nginx/1.18.0",
"tlsInfo": {
"protocol": "TLSv1.3",
"subject": "example.com",
"issuer": "Let's Encrypt",
"expires": "2026-04-01"
},
"headers": {
"server": "nginx/1.18.0",
"location": "https://www.example.com"
}
}
]
}
خطأ
{
"success": false,
"error": "Invalid URL. Please enter a valid HTTP or HTTPS URL."
}
أمثلة برمجية
cURL
curl -X POST https://www.301check.com/check.php \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com","lang":"en"}'
Python
import requests
resp = requests.post(
"https://www.301check.com/check.php",
json={"url": "https://example.com", "lang": "en"}
)
data = resp.json()
if data["success"]:
print(f"القفزات: {data['totalRedirects']}، الوجهة: {data['finalUrl']}")
for hop in data["redirects"]:
print(f" {hop['hop']}. {hop['statusCode']} {hop['from']}")
else:
print("خطأ:", data["error"])
JavaScript
const res = await fetch('https://www.301check.com/check.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ url: 'https://example.com', lang: 'en' })
});
const data = await res.json();
if (data.success) {
console.log(`${data.totalRedirects} قفزات → ${data.finalUrl}`);
data.redirects.forEach(h => console.log(` ${h.hop}. ${h.statusCode} ${h.from}`));
}
PHP
<?php
$ch = curl_init('https://www.301check.com/check.php');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode(['url' => 'https://example.com', 'lang' => 'en']),
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
echo $data['success'] ? $data['totalRedirects'] . " قفزات\n" : $data['error'] . "\n";
?>
حدود المعدل
- لكل عنوان IP: 5 طلبات كل 10 ثوانٍ
- عند التجاوز: HTTP 429 مع رسالة خطأ ثنائية اللغة
معالجة الأخطاء
تحقق دائماً من حقل success. حالات الخطأ المحتملة:
- رابط غير صالح أو مفقود
- تجاوز حد المعدل
- انتهاء مهلة الاتصال (15 ثانية)
- فشل تحليل DNS
- حظر عناوين IP الخاصة/الداخلية
💡 نصيحة
تحتاج حدود معدل أعلى أو دعم مؤسسي؟ تواصل معنا: api@301check.com