سرور ایران نسخه ۲.۱
(شنبه تا چهارشنبه ۹:۰۰ الی ۱۶:۰۰) ۶-۹۵۰۱۸۴۴۵-۰۳۱  
صفحه نخست     ناحیه کاربری     ثبت شکایات     وبلاگ
سرور ایران
  • دامنه
    • دامنه های ملی
    • دامنه های بین المللی
    • جستجو و ثبت دامنه
    • پنل مشتریان دامنه های ملی
    • پنل نمایندگان دامنه بین المللی
  • میزبانی وب
    • هاست لینوکس حرفه ای
    • هاست لینوکس اقتصادی
    • هاست لینوکس حرفه ای ایران
  • میزبانی فایل
    • هاست دانلود
  • نمایندگی هاست
    • نمایندگی هاست حجمی
    • نمایندگی هاست ایران
    • نمایندگی هاست نامحدود
    • نمایندگی مستر ریسلر نامحدود
  • گواهینامه SSL
  • قوانین و مقررات
  • درباره ما
  • ارتباط با ما
  • دامنه
    • دامنه های ملی
    • دامنه های بین المللی
    • جستجو و ثبت دامنه
    • پنل مشتریان دامنه های ملی
    • پنل نمایندگان دامنه بین المللی
  • میزبانی وب
    • هاست لینوکس حرفه ای
    • هاست لینوکس اقتصادی
    • هاست لینوکس حرفه ای ایران
  • میزبانی فایل
    • هاست دانلود
  • نمایندگی هاست
    • نمایندگی هاست حجمی
    • نمایندگی هاست ایران
    • نمایندگی هاست نامحدود
    • نمایندگی مستر ریسلر نامحدود
  • گواهینامه SSL
  • قوانین و مقررات
  • درباره ما
  • ارتباط با ما

cURL چیست؟

cURL چیست؟

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

Daniel Stenberg این پروژه را در سال ۱۹۹۷ آغاز کرد و به وسیله آن انتقال فایل با پروتکل هایی مانند HTTP, FTP و غیره را بوسیله خط فرمان امکان ساخت.

cURL در PHP

کتابخانه cURL در نسخه ۴.۰.۲ PHP اضافه شد تا از طریق این کتابخانه بتواند اطلاعات را از طریق URL جا به جا کند. برای مثال با استفاده از cURL میتوانید اطلاعات یک وب سایت را بخوانید، به صورت خودکار لاگین کنید، در سایت های دیگر فایل آپلود کنید و خیلی کارهای دیگر. cURL بسته ای است به صورت Extension که برروی PHP نصب می گردد و قابلیت اتصال از طریق URL توسط متدهای GET,POST,… را برقرار می کند.

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

 

1
<?file_put_contents('Filename.zip', file_get_contents('http://domain.ir/Filename.zip'));?>

 

 

مثال از cURL

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

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

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

 

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

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

در خط ۳ با استفاده از تابع 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
2
3
4
5
$ch = curl_init("http://example.com/page2.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_REFERER, "http://exapmle.com/page1.php");
$page = curl_exec($ch);
curl_close($ch);

 

 

مطالب مرتبط

mongodbپایگاه داده MongoDB و ویژگی های آن RAID چیستRAID چیست؟ cmsسیستم مدیریت محتوا (CMS) چیست؟ ngnixوب سرور Nginx چیست؟
Tags: curl
← اسپم یا هرزنامه چیست؟
مقایسه هاست لینوکس در ایران و خارج از کشور →

دسته‌ها

  • آموزش cPanel
  • آموزش امنیت
  • آموزش دایرکت ادمین
  • آموزش سئو و بهینه سازی
  • آموزش کانفیگ سرور
  • آموزش میزبانی وب
  • آموزش های دامنه
  • آموزش های وب سایت
  • آموزش وردپرس

نوشته های اخیر

  • نحوه اضافه کردن دامنه جدید به هاست سی پنل
    نحوه اضافه کردن دامنه جدید به هاست سی پنل

    نحوه اضافه کردن دامنه به هاست سی پنل (cPanel) در این مقاله ر...

  • تحریم ها و سیاست‌های جدید محدودیت Resello
    تحریم ها و سیاست‌های جدید محدودیت Resello

    اخیرا ریسلو ( Resello ) –  یک مرکز ثبت دامنه یا Registrar –...

  • بهینه سازی وب سرور nginx
    بهینه سازی وب سرور nginx

    Nginx در قیاس با PHP و MySQL نیاز به بهینه سازی کمتری دارد و...

  • جلوگیری از حملات bruteforce وردپرس در nginx
    جلوگیری از حملات bruteforce وردپرس در nginx

    در این مقاله جلوگیری از حملات bruteforce وردپرس در nginx به...

  • کانفیگ وب سرور Nginx – بخش دوم
    کانفیگ وب سرور Nginx – بخش دوم

    بهینه سازی های فایل سیستم در ادامه کانفیگ وب سرور Nginx – بخ...

نوشته های تصادفی

  • رمزگذاری روی پوشه در هاست دایرکت ادمینرمزگذاری روی پوشه در هاست دایرکت ادمین
  • فعال کردن gzip در وردپرس و سرورفعال کردن gzip در وردپرس و سرور
  • دامنه بدون www برای سئو بهتر در موتورهای جستجودامنه بدون www برای سئو بهتر در موتورهای جستجو
  • جلوگیری از حملات DDOS توسط CloudFlareجلوگیری از حملات DDOS توسط CloudFlare
  • نحوه ایجاد ساب دومین در دایرکت ادمیننحوه ایجاد ساب دومین در دایرکت ادمین
  • نحوه انتخاب یک سرور مجازی مناسبنحوه انتخاب یک سرور مجازی مناسب
  • نحوه ارسال مدارک به ایرنیک برای تایید دامنه IRنحوه ارسال مدارک به ایرنیک برای تایید دامنه IR
  • رفع خطای Combine images using CSS sprites در Gtmetrixرفع خطای Combine images using CSS sprites در Gtmetrix
  • غیرفعال کردن افزونه های وردپرس بدون دسترسی به wp-adminغیرفعال کردن افزونه های وردپرس بدون دسترسی به wp-admin
  • نحوه تایید دامنه های بین المللینحوه تایید دامنه های بین المللی

آخرین مطالب وبلاگ

  • نحوه اضافه کردن دامنه جدید به هاست سی پنل
    نحوه اضافه کردن دامنه جدید به هاست سی پنل

    نحوه اضافه کردن دامنه به هاست...

  • تحریم ها و سیاست‌های جدید محدودیت Resello
    تحریم ها و سیاست‌های جدید محدودیت Resello

    اخیرا ریسلو ( Resello ) –  یک...

  • بهینه سازی وب سرور nginx
    بهینه سازی وب سرور nginx

    Nginx در قیاس با PHP و MySQL ن...

مطالب تصادفی وبلاگ

  • سرویس ابری IaaS چیست؟سرویس ابری IaaS چیست؟
  • سیستم مدیریت محتوا (CMS) چیست؟سیستم مدیریت محتوا (CMS) چیست؟
  • نحوه ساخت شناسه در ایرنیک nic.ir جهت ثبت دامنه ملینحوه ساخت شناسه در ایرنیک nic.ir جهت ثبت دامنه ملی
Copyright © 2011-2025 ServerIran - All Rights Reserved