مبدل 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

۱. استفاده پایه

دستور curl خود را کپی کنید → در کادر ورودی جایگذاری کنید → کد PHP cURL تبدیل شده را دریافت کنید

۲. ویژگی‌های 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

۳. استفاده پیشرفته از 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);

۴. تبدیل گزینه‌های 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 برای تست API در PHP

درک دستورات curl برای تست مؤثر API با PHP ضروری است. در اینجا مرجع سریعی از گزینه‌های رایج curl که مبدل ما پشتیبانی می‌کند آمده است:

نحو پایه curl

curl [options] [URL]

گزینه‌های رایج curl

تبدیل دستورات پیچیده curl

مبدل PHP ما دستورات پیچیده curl شامل چندین هدر، احراز هویت، داده‌های محتوا و گزینه‌های مختلف را پشتیبانی می‌کند. به سادگی دستور curl خود را جایگذاری کنید و کد PHP تمیز و مدرن با استفاده از افزونه cURL دریافت کنید.

بهترین شیوه‌های PHP cURL

هنگام کار با PHP cURL، این بهترین شیوه‌ها را برای تعاملات API کارآمد و امن دنبال کنید:

۱. همیشه منابع cURL را ببندید



۲. از 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);

۳. مدیریت خطای جامع را پیاده‌سازی کنید

 "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...
}