آشنایی با cURL

در این پست قصد داریم با معرفی cURL در خدمت شما کاربران عزیز باشیم. در ابتدا توضیحاتی درمورد cURL ارائه می دهیم و در ادامه به تشریح cURL در PHP خواهیم پرداخت. امیدواریم مقاله آشنایی با cURL برای شما نیز مفید باشد . با ما همراه باشید.

آشنایی با cURL

آشنایی با cURL

cURL بسته ای هست به شیوه Extension که برروی PHP نصب می گـردد و توانایی اتصال از طریق URL بوسیـله متدهای GET,POST,… را برقرار می کند .
نمونه پایین بوسیله ی CURL نوشته شده هست که اقدام به اتصال به آدرس مورد نظـر و ارسال FIELD ها به شیوه POST را انجام می دهد.

آشنایی با cURL

آشنایی با cURL

در واقع cURL یک ابزار خط فرمان جهت انتقال فایلها بر حسب URL می باشد. چیزی که cURL را قدرتمند می کند تعداد پروتکل هایی هست که این کتابخانه از آنان حمایت می کند که حاوی FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, FILE و LDAP می باشد. cURL مخفف کلمه Client for URLs می باشد.

Daniel Stenberg این کتابخانه را در سـال 1997 آغاز کرد و توسـط آن انتقال فایل با پروتکل هایی مثل HTTP, FTP و غیره را توسـط خط فرمان توانایی ساخت.

cURL در PHP

آشنایی با cURL

آشنایی با cURL

PHP در ورژن 4.0.2 کتابخانه cURL را به خود اضافه کرد، تا از طریق این کتابخانه بتواند اطلاعات را از طریق URL جا به جا نماید . برای مثال با بهره گیری از cURL خواهید توانست اطلاعات یک وبسایت را بخوانید، به شیوه اتوماتیک لاگین نمایید ، در سایت های دیگر فایل آپلود نمایید و بسیار کارهای دیگر.

اما برخـی از اینکارها را هم احتمالا بتوان با توابع خود PHP مثل file_get_contents انجام داد، ولی ابتدا نیاز دارید که مورد allow_url_fopen در فایل php.ini در سرور شما فعال باشد، و از آنجایی که زیـادتر سرورها برای بیشتر شدن امنیت این مورد را غیر فعال میکنند فقط را شما یادگیری و بهره گیری از cURL می باشد.

مثال از cURL

cURL به شیوه پیشفرض بر روی Apache نصب نمی بـاشد و چنان چه میخواهید از این کتابخانه بر روی localhost سیستم بهره گیری نمایید ابتدا می بایست آن را فعال نمایید . برای روش فعال سازی خواهید توانست از این مطلب بهره گیری نمایید .

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

  1. $ch = curl_init(“http://www.google.com”);
  2. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  3. $google = curl_exec($ch);
  4. echo $google;
  5. curl_close($ch);

در خط 1 ابتدا با بهره گیری از تابع curl_init یک دستگیره (Handle) از آدرس موردنظـر میگیریم. سپس در خط 2 با بهره گیری از تابع curl_setopt معیـن میکنیم که ما میخواهیم اطلاعات بازگشت داده شوند به جای اینکه نمایش داده شوند.

تابع curl_setopt برای اعمال تنظیماتی (Set Option) بر روی سشن موردنظـر می باشد. در این مثال ما با بهره گیری از TRUE کردن مقدار CURLOPT_RETURNTRANSFER به cURL میگوییم که نیت نمایش اطلاعات را نداریم. خواهید توانست همه Optionها را در PHP Manual ببینید.

در خط 3 با بهره گیری از تابع curl_exec دستورات را اجرا میکنیم، و در خط 5 با تابع curl_close سشن موردنظـر را میبندیم.

در خط 4 برای دیدن اینکه واقعا چه چیزی اتفاق افتاده هست دستور echo را انجام داده ایم، حالا خواهید توانست آن چیزی که از سایت مورد نظـر ضـروری دارید استخراج نمایید .

اگر دستورات بالا را اجرا نمایید خواهید نگاه کـرد که سایت مورد نظـر نمایش داده می شود .

اما این یک مثال ساده بود، مثال بالا را خواهید توانست با تابع file_get_contents هم انجام دهید.

قدرت cURL در تابع curl_setopt است، با بهره گیری از این تابع چیزی که دقیقا میخواهید را خواهید توانست پیاده سازی نمایید .

در یک مثال دیگر در نظـر بگیرید صفحه ای از سایتی (page2.php) را که چنان چه برای شما باز می شود که شما از یک صفحه ویـژه (page1.php) به آن متصل شده باشید.

در واقع page2.php چک می کند که مقدار HTTP_REFERER شما صفحه page1.php باشد. خوب چنان چه قرار باشد که ما صفحه page2.php را باز کنیم می بایست مقدار HTTP_REFERER را مساوی page1.php قرار دهیم. که برای اینکار باز هم از تابع curl_setopt بهره گیری میکنیم.

  1. $ch = curl_init(“http://example.com/page2.php”);
  2. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  3. curl_setopt($ch, CURLOPT_REFERER, “http://exapmle.com/page1.php”);
  4. $page = curl_exec($ch);
  5. curl_close($ch);

خب دوستان به انتهای مقاله آشنایی با cURL رسیدیم. از توجه و همراهی شما با این مطلب سپاسگزاریم . برای مشاهده اطلاعات بیشتر درمورد سرور مجازی آلمان و سرور مجازی سوئد کلیک نمایید.