آموزش cURL در PHP

آموزش cURL در PHP

آموزش cURL در PHP – کلمه cURL که مخفف Client URL می باشد که در بسیاری از پلتفرم ها پشتیبانی می شود با کمک این کتابخانه قادر خواهید بود که درخواست های HTTP ارسال کنید .

همچنین از پروتکل هایی از جمله IMAP , POP , FTP و … پشتیبانی می کند .

در این آموزش با 4 متد HTTP کار خواهیم کرد :

1- GET Method
2- POST Method
3- PUT Method
4- DELETE Method

0 – آشنایی با توابع curl در PHP

curl_init

ورودی ندارد و خروجی resource برمی گرداند که قابل استفاده است .

برای آماده سازی curl ، اولین کاری که برای ارسال درخواست انجام می دهید استفاده از همین تابع است .


curl_setopt_array

آماده سازی درخواست با تنظیمات مورد نظر.

دارای 2 ورودی »
1- خروجی بدست آمده از curl_init – اجباری
2- تنظیمات ارسال درخواست – اجباری

برای ورودی دوم در قالب یک آرایه حداقل با عضو CURLOPT_URL باید مقدار آدرسی که می خواهید درخواست ارسال می شود را وارد کنید .

curl_exec

اجرا درخواست ، این تابع خروجی بدست آمده از سرور را برمی گرداند .

دارای 1 ورودی اجباری »
1- خروجی بدست آمده از curl_init – اجباری

curl_error

در مواجه شدن با خطا می توانید از این تابع استفاده کنید که پیغام خطا را با جزئیات نمایش می دهد

1 ورودی اجباری که از تابع curl_init بدست آمده .

curl_errno

مشابه curl_error با این تفاوت که کد خطا را نمایش می دهد .

همان ورودی اجباری curl_errno

curl_getinfo

پس از ارسال درخواست یکسری جزئیات از سرور میزبان برمی گرداند .

1 ورودی اجباری که از curl_init برگردانده می شود .


curl_close

بستن کانال curl .

دارای 1 ورودی اجباری »
1- خروجی بدست آمده از curl_init – اجباری


1- ارسال GET Method در PHP

$params = http_build_query(["s"=>"admin"]);

$options = array(
	CURLOPT_URL => "https://rapidcode.ir/?{$params}",
	CURLOPT_HTTPHEADER => ["Content-Type: application/json"],
	CURLOPT_CUSTOMREQUEST => "GET",
	CURLOPT_SSL_VERIFYPEER => false,
	CURLOPT_RETURNTRANSFER => true
);

$ch = curl_init();
curl_setopt_array($ch, $options);

$response = curl_exec($ch);

curl_close($ch);

echo($response);

خط 7 : در صورتی که این درخواست را از سروری می فرستید که دارای HTTPS نمی باشد بر روی false بگذارید اما توصیه می شود جهت جلوگیری از حمله MITM بر روی true باشد .


2- ارسال POST Method در PHP

$params = json_encode(['title' => 'RAPIDCODE', 'body' => 'let\'s Write Some Code (;', 'userId' => 1]);


$options = array(
	CURLOPT_URL => 'https://jsonplaceholder.typicode.com/posts',
	CURLOPT_HTTPHEADER => ["Content-Type: application/json"],
	CURLOPT_CUSTOMREQUEST => "POST",
	CURLOPT_POSTFIELDS => $params,
	CURLOPT_SSL_VERIFYPEER => false,
	CURLOPT_RETURNTRANSFER => true
);
$ch = curl_init();
curl_setopt_array($ch, $options);

$response = curl_exec($ch);

curl_close($ch);

echo($response);

# { "title": "RAPIDCODE", "body": "let's Write Some Code (;", "userId": 1, "id": 101 }


3- ارسال PUT Method در PHP

$params = json_encode(['title' => 'RAPIDCODE', 'body' => 'let\'s Write Some Code (;', 'userId' => 1291 , 'id' => 9]);

$options = array(
	CURLOPT_URL => 'https://jsonplaceholder.typicode.com/posts/9',
	CURLOPT_HTTPHEADER => ["Content-Type: application/json"],
	CURLOPT_CUSTOMREQUEST => "PUT",
	CURLOPT_POSTFIELDS => $params,
	CURLOPT_SSL_VERIFYPEER => false,
	CURLOPT_RETURNTRANSFER => true
);
$ch = curl_init();
curl_setopt_array($ch, $options);

$response = curl_exec($ch);

curl_close($ch);

echo($response);

# { "title": "RAPIDCODE", "body": "let's Write Some Code (;", "userId": 1291, "id": 9 }


4- ارسال DELETE Method در PHP

$options = array(
	CURLOPT_URL => 'https://jsonplaceholder.typicode.com/posts/9',
	CURLOPT_HTTPHEADER => ["Content-Type: application/json"],
	CURLOPT_CUSTOMREQUEST => "DELETE",
	CURLOPT_SSL_VERIFYPEER => false,
	CURLOPT_RETURNTRANSFER => true
);

$ch = curl_init();
curl_setopt_array($ch, $options);

$response = curl_exec($ch); // {}

if(curl_getinfo($ch)['http_code'] === 200)
	echo "DELETED !";

curl_close($ch);

آموزش cURL در PHP

ارسال نظر