محول Curl إلى PHP

تحويل أوامر curl إلى كود PHP - توليد كود PHP cURL جاهز للاستخدام لطلبات API

إشعار الخصوصية: توفر هذه الأداة الاحترافية تحويلاً آمناً إلى كود PHP مع حماية خصوصية على مستوى المؤسسات. نحن لا نخزن أي بيانات تقدمها، مما يضمن سرية كاملة لعمل تطوير API الخاص بك.

مولد كود PHP cURL

 "https://api.example.com/data",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode(["name" => "test"]),
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

أوامر curl الشائعة لاختبار API في PHP

فيما يلي بعض أوامر curl الشائعة التي يمكنك تحويلها إلى كود PHP:

أمثلة PHP cURL

توفر ملحقة cURL في PHP طريقة قوية لإجراء طلبات HTTP. فيما يلي بعض أنماط PHP cURL الشائعة:

تحميل الملفات باستخدام PHP cURL

 "https://api.example.com/upload",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => [
    'file' => $cfile
  ],
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer YOUR_TOKEN_HERE"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

PHP cURL مع المهلة ومعالجة الأخطاء

 "https://api.example.com/data",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 5,  // 5 seconds timeout
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);

curl_close($curl);

if ($err) {
echo "cURL Error: " . $err;
} else {
if ($httpCode >= 400) {
echo "HTTP Error: " . $httpCode . "\n";
echo "Response: " . $response;
} else {
$data = json_decode($response, true);
if (json_last_error() === JSON_ERROR_NONE) {
// Process JSON data
print_r($data);
} else {
echo "JSON parsing error: " . json_last_error_msg();
echo "Raw response: " . $response;
}
}
}

كيفية استخدام محول PHP cURL

1. الاستخدام الأساسي

انسخ أمر curl الخاص بك → الصقه في مربع الإدخال → احصل على كود PHP cURL المحول

2. ميزات PHP cURL

  • HTTP methods (GET, POST, PUT, DELETE, etc.)
  • Request headers in PHP format
  • JSON and form data handling
  • Basic and token authentication
  • SSL verification options
  • Cookie handling with PHP cURL

3. استخدام PHP cURL المتقدم

 true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_TOKEN_HERE",
"Content-Type: application/json",
"Accept: application/json"
],
];

// First request
curl_setopt_array($curl, $options + [
CURLOPT_URL => "https://api.example.com/users",
CURLOPT_CUSTOMREQUEST => "GET",
]);

$response1 = curl_exec($curl);
$err1 = curl_error($curl);

// Second request with the same session
curl_setopt_array($curl, $options + [
CURLOPT_URL => "https://api.example.com/products",
CURLOPT_CUSTOMREQUEST => "GET",
]);

$response2 = curl_exec($curl);
$err2 = curl_error($curl);

curl_close($curl);

// Process responses
$users = json_decode($response1, true);
$products = json_decode($response2, true);

4. تحويل خيارات curl إلى PHP

تتعامل أداتنا مع خيارات curl الشائعة هذه وتحولها إلى كود PHP cURL مناسب:

  • -X, --request: Sets the HTTP method (GET, POST, PUT, etc.)
  • -H, --header: Adds HTTP headers to the request
  • -d, --data: Sends data in the request body
  • --data-binary: Sends binary data in the request body
  • -u, --user: Adds basic authentication
  • -k, --insecure: Disables SSL certificate verification
  • --connect-timeout: Sets connection timeout

الأسئلة الشائعة حول PHP cURL

س: ما هو إصدار PHP المطلوب للكود المولد؟

ج: كود PHP cURL المولد متوافق مع PHP 5.5 وما فوق. بالنسبة لإصدارات PHP الأقدم، قد تكون هناك حاجة لتعديلات طفيفة، خاصة لفئة CURLFile المستخدمة في تحميلات الملفات.

س: هل يتعامل كود PHP مع فحص الأخطاء؟

ج: نعم، يتضمن الكود المولد معالجة أساسية لأخطاء cURL. بالنسبة لكود الإنتاج، قد ترغب في إضافة معالجة أخطاء أكثر شمولاً خاصة باحتياجات تطبيقك.

س: كيف يمكنني معالجة الاستجابة في PHP؟

ج: بالنسبة لاستجابات JSON، استخدم json_decode() لتحليل الاستجابة إلى مصفوفة أو كائن PHP. بالنسبة للتنسيقات الأخرى، يمكنك معالجة سلسلة الاستجابة الخام حسب الحاجة.

س: هل أحتاج إلى تثبيت أي ملحقات لاستخدام الكود المولد؟

ج: نعم، تحتاج إلى تمكين ملحقة cURL في تثبيت PHP الخاص بك. معظم تثبيتات PHP الحديثة تأتي مع cURL ممكّنة افتراضياً. يمكنك التحقق باستخدام php -m | grep curl في الطرفية الخاصة بك.

س: كيف أحول أمر curl مع تحميل ملف إلى PHP؟

ج: لتحميلات الملفات في PHP، ستحتاج إلى استخدام فئة CURLFile. يتعامل محولنا مع أوامر curl التي تحتوي على خيارات -F أو --form ويولد كود PHP المناسب باستخدام CURLFile.

س: كيف أتعامل مع ملفات تعريف الارتباط في PHP cURL؟

ج: توفر ملحقة cURL في PHP خيارات للتعامل مع ملفات تعريف الارتباط. عندما تقوم بتحويل أوامر curl التي تتضمن التعامل مع ملفات تعريف الارتباط (باستخدام -b أو --cookie)، تقوم أداتنا بتوليد كود PHP يدير ملفات تعريف الارتباط بشكل صحيح باستخدام خيارات CURLOPT_COOKIE أو CURLOPT_COOKIEFILE/CURLOPT_COOKIEJAR.

س: ما هو الفرق بين استخدام curl و PHP cURL لاختبار API؟

ج: بينما يعتبر curl في سطر الأوامر ممتازاً لاختبار API السريع، يتيح لك PHP cURL دمج طلبات HTTP مباشرة في تطبيقات PHP الخاصة بك. يساعد تحويل curl إلى PHP في سد الفجوة بين الاختبار والتنفيذ في تطوير PHP.

مرجع أوامر Curl لاختبار واجهة برمجة التطبيقات PHP

فهم أوامر curl ضروري لاختبار API الفعال مع PHP. إليك مرجعاً سريعاً لخيارات curl الشائعة التي يدعمها محولنا:

بناء جملة curl الأساسي

curl [options] [URL]

خيارات curl الشائعة

تحويل أوامر curl المعقدة

يتعامل محول PHP لدينا مع أوامر curl المعقدة بما في ذلك الرؤوس المتعددة والمصادقة وحمولات البيانات والخيارات المختلفة. ما عليك سوى لصق أمر curl الخاص بك والحصول على كود PHP نظيف وحديث باستخدام ملحقة cURL.

أفضل ممارسات PHP cURL

عند العمل مع PHP cURL، اتبع أفضل الممارسات التالية للتفاعلات الفعالة والآمنة مع API:

1. إغلاق موارد cURL دائماً



2. استخدام curl_setopt_array للخيارات المتعددة

 "https://api.example.com/data",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer token123",
"Accept: application/json"
],
]);

$response = curl_exec($curl);
curl_close($curl);

3. تنفيذ معالجة شاملة للأخطاء

 "https://api.example.com/data",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30,
CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$errno = curl_errno($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

if ($errno) {
// Handle cURL errors
switch ($errno) {
case CURLE_OPERATION_TIMEDOUT:
echo "Request timed out";
break;
case CURLE_COULDNT_CONNECT:
echo "Could not connect to server";
break;
default:
echo "cURL error ({$errno}): " . curl_strerror($errno);
}
} else if ($httpCode >= 400) {
// Handle HTTP errors
echo "HTTP error: {$httpCode}";
} else {
// Process successful response
$data = json_decode($response, true);
// Continue processing...
}