یک نمونه از cURL به عنوان مثال

یک نمونه از cURL به عنوان مثال

 

[thumbnail target=”_self” alt=”یک نمونه از cURL به عنوان مثال” src=”https://www.shopingserver.net/wp-content/uploads/2017/09/curl-webite-1-1.png”]

 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);

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

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

در خط ۳ با استفاده از تابع curl_exec دستورات را اجرا میکنیم، و در خط ۵ با تابع curl_close سشن موردنظر را میبندیم.

در خط ۴ برای دیدن اینکه واقعا چه چیزی اتفاق افتاده است دستور 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);