آشنایی با cURL – دانلود فایل از طریق command line در لینوکس

با نام خدا و سلام، تو این مطلب میخوام در مورد cURL بنویسم که چی هست و چی کار می کنه. اول از همه اینکه با زبان برنامه نویسی Curl اشتباه نگیریدش. 

تو ویکیپدیا این طوری تعریفش کرده:

یک پروژه نرم افزار کامپیوتر که یک کتابخانه و ابزار command-line جهت انتقال داده با پروتوکل های مختلف را فراهم می کند.

پروژه cURLشامل دو محصول است، libcurl و cURL. ابتدا در سال ۱۹۹۷ ارایه شد. نامش در ابتدا “See URL” بود و توسعه دهندش یه توسعه دهنده ی سویدی به نام دنیل استنبرگ بود. 

پس cURL یک ابزار command-line جهت انتقال یا گرفتن فایل با استفاده از سینتکس URL می باشد.

پروتوکل هایی که cURL از آنها پتیبانی می کنه عبارت هستند از:

(DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP)

ویژگی های cURL :

با استفاده از URLشما می تونید چند تا url را در یک دستور بفرستید، و اگر تمامی urlها روی یک سایت باشند، url های سایت توسط یه connection دانلود می شوند و این قضیه کارایی رو بالا میبره.

توسط زبان های برنامه نویسی و اسکریپت مختلفی میشه ازش استفاده کرد.
دستورات cURL برای فایل های تا ۲ گیگابات برای دانلود و آپلود کارایی داره.
با توجه به این سایت، ویژگی های زیر نیز برای cURL نام برده شده است:
 
  • Multiple URLs
  • Usernames and Passwords support
  • IPv6 support
  • Retry failed download
  • URL globbing/sequences
  • Win32 support
  • Large file support
  • GnuTLS support
  • DarwinSSL support
  • Schannel support
  • Cyassl support
  • PolarSSL support
  • AxTLS support
  • SSL Session ID 
  • SSL Private Certificate
  • netrc support
  • Metalink support
  • IDN support
  • Bandwidth limiting
  • Happy eyeballs
  • SOCKS
  • TFTP
  • SCP upload/download
  • SFTP upload/download
  • HTTP Proxy
  • HTTP Resume
  • HTTP Ranges
  • Follow HTTP Redirects
  • HTTP Post
  • HTTP Post Chunked
  • HTTP Put
  • Cookie support
  • HTTP 1.1
  • HTTP 2 (plain text upgrade)
  • HTTP 2 (TLS ALPN)
  • HTTP 2 (TLS NPN)
  • HTTP persistent connections
  • HTTPS
  • HTTP Digest Auth
  • HTTP NTLM Auth
  • HTTP Negotiate Auth
  • HTTP Multipost Part
  • HTTP Deflate gzip
  • FTP resume
  • FTP ranges
  • FTP active mode
  • FTP SSL
  • FTP upload
  • FTP Kerberos
  • FTP Connection re-use
  • GOPHER

بروزرسانی

خب تقریبا ۲ سال از ارسال اولیه این مطلب گذشته 🙂

امروز قصد دارم دستور دیگری برای دانلود فایل در لینوکس و از طریق command line رو معرفی کنم خدمتتون :

دستور wget

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

$ wget [URL]

جهت دانلود فایل با نامی متفاوت از دستور زیر استفاده کنید:

$ wget -O [filename] [URL]

دانلود چند تا فایل با همدیگر :

$ wget –i [filename.txt]

برای مطالعه بیشتر به اینجا نگاهی بیاندازید : آشنایی با wget و curl در سایت Vitux