cURL logo

کتابخانه برای دسترسی به محتویات وب از طریق سامورایی !

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

سوال اصلی : وقتی یک سامانه ای هیچ راه ورودی غیر از نام کاربری و رمز ورود ندارد و به هیچ صراتی اجازه دسترسی به دیتابیسش را نمی دهد چه باید کرد ؟


خب در این مواقع قطعا راه های زیادی برای دسترسی هست که بنده به شخصه فعلا همین cURL اش را کشف کرده ام. این cURL پدرسوخته هنرهایی دارد که نگو و نپرس. ویکی پدیا که نوشته همه زور کرل به امکان برقراری ارتباط از طریق اکثر پروتوکل های معروف مثل HTTP,FTP,HTTPS, Telnet,POP3,IMAP و ... است. ولی از من بپرسید می گویم زور این بنده خدا بیشتر در این است که رفتار آدمیزاد را شبیه سازی می کند. یعنی اگر بخواهم مثال بزنم اینطوری باید بگویم که مثلا با نام کاربری و رمز ورود شما وارد سایت مورد نظرتان شده، آدرس صفحه ای که از آنجا وارد شده است را شبیه سازی کرده (مثلا الکی می گوید که از گوگل آمده ام!)، محتویات وب سایت را خوانده و آن چیزی که دنبالش است را برداشته و میرود !

چند مثال کاربردی تر دیگر از cURL عزیز !
مثلا فرض کنید شما می خواهید یک ربات تلگرام برای اسکریپت مدیریت هتل که توسط شرکت حاج عبدالله و پسران نوشته شده بنویسید که آمار مسافران جدید را در آورد. خب قدم اول این است که به حاج عبدالله زنگ بزنید و درخواست داکیومنت و API کنید ولی متاسفانه حاجی دستش بند است و خبری از داکیومنت نیست. سر حساب که می شوید می بینید اصلا خبری از API هم نیست. خب حالا چه باید کرد ؟! خیلی راحت می روید با استفاده از cURL و یک اکانت مدیریت محتویات بخش مدیریت "اسکریپت حاج عبدالله" را استخراج کرده و با کمی تمرین و تلاش، نتیجه دلخواه خودتان را بدست می آورید.

مثال دوم :

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

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

یک مثال ساده از cURL در PHP با تشکر از آپارنت

<?php

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

?>

نکته : فرض شده است که شما مخاطب عزیز از قبل می دانید که باید این کدها را در یک فایل test.php کپی کرده و سپس در سرور اجرا کنید. یعنی علی القاعده وقتی دنبال cURL هستی حتما قبلش خوب PHP را یادگرفتی دیگه ! که اگه نگرفتی هنوز زوده. برگرد سر PHP یکم تمرین کن و قوی شو و یکی دو هفته دیگه دوباره برگرد. نترس خود PHP اینقدر قشنگ هست که حالا حالا ها سرت گرم باشه.

هشدار : php_cURL معمولا به صورت پیشفرض بر روی سرور یا سرورهای مجازی مثل WAMP و XAMPP نصب نیست و باید در تنظیمات، آنرا فعال کنید. چطوری ؟ با جستجوی این عبارت در گوگل " How to enable curl on wamp/xampp/... " !

هشدار دوم : حتما وقتی یه چیزی یاد میگیرید همون موقع یه تستی ازش بکنید. اگه تست کنید بهتر یادتون می مونه. خیلی خیلی بهتر.

هشدار برای کبری یازده : نظر یادتون نره. یادتونم رفت طوری نیست ! فدا سرم !!! والا !