ایجاد: ۱۲:۵۶ ۱۳۹۲/۶/۷
ویرایش: ۱۲:۱۰ ۱۳۹۴/۹/۲۳

یادداشت‌ها

»

کاربردهای CURL در پی اچ پی

کتابخانه لینوکسی و پرقدرت curl کاربردهای متعددی برای کار با پروتکل‌های مختلف دارد. به وسیله آن می‌توان یک ربات انسان‌نما درست کرد که به گشت و گذار در وب می‌پردازد و فرم‌ها(ی فاقد کپچا) را پر می‌کند. می‌تواند اطلاعات و حتی فایل‌ها را به مقصد دلخواه post کند و یا با روش ftp به یک سرور وصل شود و در فایل‌ها تغییرات دلخواه را انجام دهد و ...

در زبان محبوب php امکان استفاده از curl به سادگی درون برنامه وجود دارد. مثلا برای ارسال اطلاعات به روش post به یک سرور می‌توان اینگونه عمل کرد:

$url = 'http://mySite.com/...';
$_POST = array('name' => 'alireza', 'php_master' => true);
// افزودن یک فایل مشابه ورودی فایل در فرم با نام دلخواه شما
$_POST['file1'] = '@/home/user/ali.jpg';
$_POST['file2'] = '@/home/user/reza.jpg';
 
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $_POST);
curl_exec($handle);
همانطور که در کد فوق می‌بینید، علاوه بر اطلاعات ساده، دو عدد فایل نیز با متد post به آدرس مذکور ارسال شده که توضیحات بیشتر در مورد ازسال فایل با curl را می‌توانید در اینجا بخوانید.

با استفاده از سرویس آنلاین hurl می‌توانید به صورت ویژوال، پارامترهای cUrl را ست و سپس آن را اجرا کنید و نتیجه را مشاهده نمایید که برای یادگیری و درک curl مفید است.

برای کار کردن با curl کتابخانه‌های متعدد php وجود دارد که کار را بسیار ساده کرده است از جمله:

  • Goutte
    یک کتابخانه جهت گرفتن (grab) صفحات وب که با کمک آن می‌توان برخی اعمال ساده (مثل کلیک روی لینک و ثبت فرم و ...) را نیز انجام داد. همچنین با کمک این کتابخانه به سادگی می‌توان بر اساس انتخابگرهای css3 به عناصر و بخش‌های html دریافت شده دسترسی پیدا کرد.
  • Unirest-PHP
    یک کتابخانه ساده دیگر برای راحتی کار با curl جهت دریافت و ارسال اطلاعات و حتی فایل.
  • Requests
    یک کتابخانه مفید و قدرتمند برای ارسال درخواست از طریق curl یا fsockopen (با توجه به در دسترس بودن) برای ارسال انواع درخواست‌های HEAD, GET, POST, PUT, DELETE و PATCH با قابلیت افزودن فایل و ...
  • Guzzle
    این کتابخانه پرطرفدار و محبوب، می‌تواند انواع درخواست‌های http را به صورت سریالی و موازی ارسال کند. این کتابخانه به صورت پیش‌فرض از cUrl استفاده می‌کند اما لزوما به آن نیاز ندارد.
    همچنین این کتابخانه قدرتمند امکان دانلود و آپلود استریم را نیز دارد. کار با Keep-Alive و connection pooling (مثلا برای کار با سرورهای node.js) نیز یکی دیگر از قابلیت‌های آن است.
ده کتابخانه برای کار با CURL و گرفتن صفحات

نکته: کتابخانه HttpRequest که در نسخ جدید PHP و همراه آن ارائه شده، کار با CURL را بسیار ساده کرده است که توصیه می‌کنم به قابلیت‌های HttpRequest نگاه کنید...


یادداشت‌های مرتبط
  1. سرویس های آنلاین رایگان برای نوشتن، تست و بهینه سازی کدهای برنامه نویسی
  2. لیست مواردی که برای امنیت برنامه PHP لازم است چک شود
  3. تشخیص و کشف نوع، نام و مشخصات مرورگر کاربران سایت
  4. قلمرو متغیرها در پی اچ پی و جاوا اسکریپت
  5. معرفی برخی برنامه های مدیریت محتوا متداول و عمومی
  6. ارسال و دریافت ایمیل با PHP و ساختن اکانت ایمیل
  7. تجزیه و ترکیب URL در PHP
  8. نکاتی در مورد نسخه جدید PHP 5.5
  9. انواع راه های تولید کد QR با پی اچ پی و جاوا اسکریپت

مدیریت

نام وسیله

اعتبار ورود

نام کاربری

رمز عبور

رمز یکبارمصرف

... لیست تمام یادداشت‌ها

تبلیغات

ربات‌های تلگرامی:
مجموعه ربات‌های تلگرامی ما برای ساده‌تر کردن کار با تلگرام و مدیریت کانال
دامنه‌های فروشی:
دامنه‌های زیر مربوط به ما یا مشتریان ماست که قابل واگذاری هستند. در صورت تمایل به داشتن یکی از آنها، با این اکانت تلگرامی مکاتبه نمایید.

دامنه‌هایی که می‌تواند مصرف تخصصی داشته باشد:
AnyDesk.ir, Firebase.ir, Angularjs.ir, 9px.ir alAdmin.ir, iQore.ir notion.ir, 3dn.ir,

دامنه‌هایی که می‌تواند مصرف فرهنگی/مذهبی داشته باشد:
mavaez.ir, 2aha.ir, babolelm.ir, mahjoor.ir

دامنه‌هایی که می‌تواند مصرف شخصی/عمومی داشته باشد:
azizami.ir, 90blog.ir