وثائق API

المحتويات

نظرة عامة

يوفر 301check.com واجهة برمجة مجانية لتحليل سلسلة إعادة التوجيه HTTP يمكنك دمجها مباشرة في تطبيقاتك. بدون تسجيل، بدون مفتاح API — فقط أرسل طلب POST واحصل على النتائج.

✨ ميزات API

  • مجاني بالكامل، بدون تسجيل
  • يدعم جميع أنواع إعادة التوجيه HTTP (301/302/303/307/308)
  • يُرجع سلسلة إعادة التوجيه الكاملة
  • يتضمن أوقات الاستجابة وعناوين IP للخوادم وتفاصيل شهادات TLS
  • استجابات JSON، سهلة التحليل
  • رسائل خطأ ثنائية اللغة عبر معامل lang

نقطة النهاية

POSThttps://www.301check.com/check.php

صيغة الطلب

الترويسات

Content-Type: application/json

جسم الطلب

{
  "url": "https://example.com",
  "lang": "en"
}

المعاملات

⚠️ صيغة الرابط

يجب أن يتضمن الرابط البروتوكول (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";
?>

حدود المعدل

معالجة الأخطاء

تحقق دائماً من حقل success. حالات الخطأ المحتملة:

💡 نصيحة

تحتاج حدود معدل أعلى أو دعم مؤسسي؟ تواصل معنا: api@301check.com