در تلگرام منتظر شما هستیم
عضویت در کانال تلگرام پارسی پروگرامر
no-img
پارسی پروگرامر

آموزش کامل curl در php - پارسی پروگرامر


پارسی پروگرامر
اطلاعیه های سایت

ادامه مطلب

آموزش کامل curl در php
zip
1396/07/29

آموزش کامل curl در php


سلام خدمت دوستای عزیز

بحث امروز درباره آموزش کامل curl در php هست و اینکه با استفاده از curl چه کارهایی می توانیم انجام دهید که امیدوارم با مثال هایی که زده میشه استفاده از curl خوب جا بیوفته براتون .

آموزش کامل curl در php

با استفاده از cURL می توان با سرورهای مختلف و از طریق پروتکل های متفاوت ارتباط بر قرار کرد و کارهای مشابه کارهای زیر را انجام داد:

  • نوشتن ماژولهای پرداخت آنلاین و ارتباط با درگاه های پرداخت
  • دانلود و آپلود فایل از سرورهای دیگر
  • لاگین کردن به بخش کاربری سایتها

چرا از Curl استفاده کنیم ؟

این یک حقیقت است که برای بازیابی محتوای یک صفحه می توان راه های مختلفی را اسفتاده کرد و به نظر خیلی وقت ها ناشی از تنبلی ما هست که از Curl استفاده نمیکنیم ! 

برای مثال برای گرفتن محتوای یک صفحه از توابع زیر می توان در php استفاده کرد :

$content = file_get_contents("http://www.nettuts.com");
// یا
$lines = file("http://www.nettuts.com");
// یا
readfile("http://www.nettuts.com");

قطعا توابع بالا محتوای صفحه را بازیابی می کنند ولی حقیقت این است که انعطاف پذیری curl و همچنین error handling مناسبی را ندارند .

مسیله دیگر اینکه بعضی وقت ها شما لازم دارین که علاوه بر بازیابی محتوای یک صفحه , از  cookies ها استفاده کنید یا لازم باشد اطلاعاتی به فرمی post کنید یا عملیات authentication انجام دهید و .. که همه این کارها با Curl امکان پذیر است .

در واقع Curl یک library خیلی قوی است که بسیاری از آپشن ها و پروتوکل ها را پشتیبانی می کند و جزییات و اطلاعات خیلی خوبی را درباره یک صفحه به ما می دهد.

 

قبل از اینکه شروع به آموزش curl بکنیم حتما مطمین بشین که curl بر روی سیستم شما نصب و فعال است .

تقریبا تمام درخواست های curl از الگوی زیر پیروی می کنند :

  • در ابتدا با استفاده از تابع  () curl_init یک نمونه از curl ایجاد کرده و آن را داخل متغیری به نام ch می ریزیم . (ch = cURL handle)
  • سپس آپشن های مختلفی مانند نوع درخواست, آدرس Url و …. را برای آن ست می کنیم.
  • با استفاده از تابع ()curl_exec درخواستمان را اجرا می کنیم.
  • در نهایت با استفاده از تابع ()curl_close منابع مصرف شده مانند memory را آزاد می کنیم.

در واقع از ساختار بالا تنها چیزی که ممکنه برای هر درخواست عوض بشود همان آپشن هایی هست که با توجه به کارمون ست می کنیم .

بازیابی یک صفحه وب با Curl

در هنگام استفاده از cURL توی PHP به صورت کلی مراحل زیر رو انجام میدیم:

  • شروع کردن یک curl با استفاده از دستور curl_init
  • انجام تنظیمات مورد نیاز برای curl شروع شده با استفاده از دستور curl_setopt
  • اجرای دستور curl_exec برای ارسال/دریافت اطلاعات با استفاده از دستور curl_exec
  • بستن curl شروع شده با استفاده از دستور curl_close

مراحلی که در بالا ذکر کردم رو حالا انجام میدیم , به مثال زیر دقت کنید:

<?php
//step1
$cSession = curl_init();
//step2
curl_setopt($cSession,CURLOPT_URL,"http://www.google.com/search?q=tarhche");
curl_setopt($cSession,CURLOPT_RETURNTRANSFER,true);
curl_setopt($cSession,CURLOPT_HEADER, false);
//step3
$result=curl_exec($cSession);
//step4
curl_close($cSession);
//show data in page:
echo $result;
?>

توی مثال بالا ابتدا با استفاده از curl_init یک curl رو شروع میکنیم , بعدش با استفاده از دستور curl_setopt تنظیمات مورد نظر خودمون رو اعمال میکنیم , این تابع سه تا مقدار میگیره , مقدار اول نام مغییری که اتصال curl رو شروع کردیم میدیم , مقدار دوم نام تنظیمات مورد نظر خودمون رو میدیم و در اخر نیز مقدار تنظیمات رو میدیم. مثلا من در مثال بالا برای URL (ادرس) اومدم ادرس سرچ کلمه طرح چه در گوگل رو قرار دادم.

با تنظیم کردن CURLOPT_RETURNTRANSFER به صورت true بعد از اینکه ادرس سایت مورد نظر ما باز شد محتوای صفحه به ما داده میشه! ما میتونیم این محتوا رو درون یه متغیر بریزیم و بعدا استفاده کنیم 

من HEADER که هدر رو مشخص میکنه روی false گذاشتم یعنی هیچ هدری ندادم بهش! اگه نیاز دارید که یه هدر بفرستید میتونید بهش مقدار دهی کنید.

در اخر با استفاده از دستور curl_exec میایم و درخواست خودمون رو اجرا میکنیم و محتوای گرفته شده رو درون یه متغیر میریزیم و در خط اخر توی صفحه Echo میکنیم! اگه دستورات بالا رو اجرا کنید گوگل به شما نشون داده خواهد شد 

امیدوارم که از این اموزش لذت برده باشید ,در اینده اموزش های بیشتری درباره ی انجام تنظیمات cURL خواهم گذاشت. دوستانی مشکل یا سوال دارند از بخش نظرات پایین همین پست مطرح کنند تا بهشون پاسخ بدم.



لینک کوتاه مطلب:

https://parsprog.ir/?p=740

دیدگاه ها


پاسخ دهید

%u0637%u0631%u0627%u062D%u06CC %u0633%u0627%u06CC%u062A
طراحی سایتسئوفروش ویلا و اجاره ویلاسرویس و تعمیر کولر گازیاجاره ویلافروش ویلا