اطلاعیه

بستن
No announcement yet.

دستور curl در لینوکس به همراه 15 مثال عملی

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
پاک کردن همه
پست های جدید

  • دستور curl در لینوکس به همراه 15 مثال عملی

    در اواسط 1990 زمانی که اینترنت هنوز در دوران کودکی خود بود، یک برنامه نویس سوئدی به نام Daniel Stenberg پروژه ای را با نام curl آغاز کرد که در نهایت به آنچه که امروز مشاهده میکنیم، تبدیل شده است.

    در ابتدا، او با هدف توسعه یک bot که نرخ تبدیل ارز را از یک صفحه وب به صورت دوره ای دانلود کند، و معادل کرون سوئدی را به دلار آمریکا برای کاربران IRC (روشی برای چت و برگزاری کنفراس های اینترنتی) ارائه دهد، شروع کرد.

    به طور خلاصه، پروژه رشد کرد، همچنین چندین پروتکل و امکانات دیگر در طول زمان به آن اضافه شد. اکنون بیایید با هر دو پا شیرجه بزنیم و یاد بگیریم چگونه برای استفاده از Curl برای انتقال اطلاعات و غیره در لینوکس استفاده کنیم.


    همچنین توصیه میشود مطالعه کنید.

    دستور wget در لینوکس به همراه 10 مثال عملی

    چگونه با استفاده از wget یک فایل را در یک دایرکتوری خاصی دانلود کنیم

    نحوه محدود کردن سرعت دانلود در دستور wget


    ما در لیست زیر 15 دستور curl را به صورت یکجا برای شما قرار دادیم که به شرح زیر میباشد.



    1 - نمایش ورژن curl

    آپشن -V یا --version نه تنها ورژن، بلکه پروتکل های پشتیبانی شده و ویژگی های نسخه فعلی را نیز به شما نمایش میدهد.
    کد HTML:
    $ curl --version
    
    curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
    Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp
    Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets


    2 - نحوه دانلود یک فایل

    اگر شما نیاز به دانلود یک فایل داشته باشید، میتوانید از curl با آپشن های -O یا -o استفاده کنید. آپشن اولی فایل را در دایرکتوری جاری تان و با همان نام ذخیره خواهد کرد و آپشن دوم به شما اجازه ذخیره فایل با یک نام دیگر یا دایرکتوری مشخص شده ای که مد نظر شماست، را میدهد.
    کد HTML:
    $ curl -O http://yourdomain.com/yourfile.tar.gz # Save as yourfile.tar.gz
    $ curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz # Save as newfile.tar.gz


    3 - ادامه یک دانلود قطع شده

    اگر یک دانلود به هر دلیلی قطع شد (برای مثال، از ctrl+c استفاده کردید)، شما میتوانید به راحتی ادامه آنرا دانلود کنید. از "-C -" (یعنی از dash و C سپس فاصله و مجدد dash را وارد کنید) استفاده کنید که به curl می گوید دانلود را از جاییکه قطع شده شروع کند.
    کد HTML:
    $ curl -C - -O http://yourdomain.com/yourfile.tar.gz
    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	curl command-1.png نمایش ها:	0 اندازه:	47.2 KB شناسه:	26611








    4 - دانلود چندین فایل از URL مختلف

    شما میتوانید لیستی از url فایل ها را که درون یک فایل متنی قرار دارد، با ترکیب کردن curl با xargs دانلود کنید.
    کد HTML:
    $ xargs -n 1 curl -O < listurls.txt
    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	curl command-2.png نمایش ها:	0 اندازه:	85.7 KB شناسه:	26612






    6 - استفاده از Proxy به همراه احراز هویت

    اگر شما پشت یک پراکسی سرور که در حال listen کردن روی پورت 8080 در proxy.yourdomain.com هستید، دستور زیر را اجرا کنید.
    کد HTML:
    $ curl -x proxy.yourdomain.com:8080 -U user:password -O http://yourdomain.com/yourfile.tar.gz
    اگر پراکسی تان احتیاج به احراز هویت (user و password) ندارد شما میتوانید -U user:password را نادیده بگیرید.



    7 - کوئری هدرهای HTTP

    هدرهای HTTP به وب سرورهای ریموت اجازه میدهد اطلاعات بیشتری درباره خودش همراه با درخواست واقعی ارسال کند. این برای کلاینت نحوه درخواست به همراه جزئیات را فراهم میکند.

    برای درخواست هدرهای HTTP از یک وب سایت دستور زیر را اجرا کنید.
    کد HTML:
    $ curl -I host.linux-zone.org
    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	curl command-3.png نمایش ها:	0 اندازه:	57.6 KB شناسه:	26613





    این اطلاعات همواره در ابزارهای توسعه مرورگرتان موجود است.



    8 - ایجاد یک درخواست POST به همراه پارامترها

    دستور زیر پارامتر firstName و lastName را همراه با متغیرهایشان به https://yourdomain.com/info.php ارسال میکند.
    کد HTML:
    $ curl --data "firstName=John&lastName=Doe" https://yourdomain.com/info.php
    شما میتوانید این روش را برای شبیه سازی رفتار یک فرم HTML استفاده کنید.



    9 - دانلود فایل از یک سرور FTP به همراه احراز هویت

    اگر شما از یک سرور دیگر میخواهید از یک FTP سرور راه دور (ریموت)، فایل yourfile.tar.gz را دانلود کنید کافیست دستور زیر را اجرا کنید تا فایل را در دایرکتوری جاری شما دانلود کند.
    کد HTML:
    $ curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz
    اگر FTP سرور اجازه دسترسی کاربران ناشناس را میدهد، شما میتوانید در اینجا -u username:password احراز هویت را نادیده بگیرید.



    10 - آپلود فایل ها به یک FTP سرور به همراه احراز هویت

    برای آپلود یک فایل به نام mylocalfile.tar.gz به ftp://yourftpserver با استفاده از curl، دستور زیر را اجرا کنید.
    کد HTML:
    $ curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver


    11 - مشخص کردن User Agent

    user agent بخشی از اطلاعاتی که همراه یک درخواست HTTP ارسال میشود، میباشد. این نشان میدهد که کلاینت برای ایجاد یک درخواست از چه مرورگری استفاده میکند. اجازه بدید ببینیم ورژن curl فعلی ما به صورت پیش فرض استفاده میشود، و اجازه بدهید آن را بعدا به “I am a new web browser” تغییر دهیم.
    کد HTML:
    $ curl -I http://localhost --user-agent "I am a new web browser"
    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	curl command-4.png نمایش ها:	0 اندازه:	68.3 KB شناسه:	26614






    12 - ذخیره کردن Cookie های یک وب سایت

    آیا میخواهید ببینید که کدام کوکی ها در کامپیوتر شما زمانیکه سایت https://www.cnn.com را مشاهده می کردید، دانلود شده اند؟ از دستور زیر برای ذخیره آنها در فایل cnncookies.txt استفاده کنید. سپس شما میتوانید برای مشاهده فایل از دستور cat استفاده کنید.
    کد HTML:
    $ curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O
    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	curl command-5.png نمایش ها:	0 اندازه:	60.0 KB شناسه:	26615






    13 - ارسال Cookie های وب سایت

    شما میتوانید کوکی هایی که از ترفند قبلی به دست آوردید را در درخواست های بعدی به همان سایت استفاده کنید.
    کد HTML:
    $ curl --cookie cnncookies.txt https://www.cnn.com


    14 - تغییر نام resolution

    اگر شما یک برنامه نویس وب هستید و میخواهید برای تست یک ورژن از yourdomain.com قبل از عملیاتی کردن آن به صورت زنده، شما میتوانید با استفاده از curl آدرس http://www.yourdomain.com را به صورت لوکال هاست همانند زیر مشاهده کنید.
    کد HTML:
    $ curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/
    بنابراین، درخواست به http://www.yourdomain.com به curl می گوید برای درخواست سایت بجای استفاده از DNS یا فایل /etc/hosts/ از لوکال هاست استفاده کند.



    15 - محدود کردن سرعت دانلود

    برای جلوگیری کردن استفاده curl از پهنای باندتان، شما میتوانید سرعت دانلود را به 100 KB/s محدود کنید، همانند زیر.
    کد HTML:
    $ curl --limit-rate 100K http://yourdomain.com/yourfile.tar.gz -O


    خلاصه

    در این مقاله ما یک تاریخچه مختصر از curl را به اشتراک گذاشتیم و نحوه استفاده از دستور curl را به همراه 15 مثال عملی توضیح دادیم.

    آیا شما دستورات دیگری از curl را که ممکن است در این مقاله بیان نشده باشد را میدانید؟ با ما راحت باشید و آنرا در همین انجمن به اشتراک بگذارید. همچنین اگر سوالی داشتید آنرا مطرح کنید. منتظر شما هستیم.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 07-11-2019, 07:18 PM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X
کانال تلگرام منطقه لینوکسی ها