یکی از دستور های قدرتمند و مهم لینوکس curl هست که همه لازمه برای سرعت بیشتر توی کار هامون بلد باشیم.
با curl میتونید هر نوع درخواستی رو به سرور ارسال کنید, میتونید یه فایل رو دانلود یا آپلود کنید و از پروتکل های زیر پیشتیبانی میکنه:
http https ftp smtp smtps telnet dict file ftps gopher imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs tftp
این دستور به احتمال زیاد بصورت پیشفرض روی توزیع لینوکس شما نصب شده ولی برای اطمینان بیشتر دستور زیر رو توی ترمینال بزنید و اگه بهتون ارور نداد یعنی نصب شده:
curl --version
اگه نصب نشده بود و ارور داد این دستورات رو با توجه به توزیع خودتون برای نصب بزنید:
Debian / Ubuntu
sudo apt-get install curl
dpkg -l | grep curl
Fedora / RHEL / CentOS / Arch
yum install curl
rpm -qa | grep curl
OpenSUSE
zypper install curl
zypper se curl
Arch
pacman -Sy curl
حالا اگه دوباره دستور curl --version رو بزنید نباید ارور بگیرید
یکی از کاربرد های curl که خیلی به کارتون میاد دانلود و آپلود فایل هست, خیلی راحت میتونید چند فایل تا رو با هم آپلود/دانلود کنید
با دستور زیر میشه فایل رو دانلود کرد:
curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js
و با دستور زیر فایل با اسمی که وارد کنید دانلود و ذخیره میشه:
curl -o custom_name.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js
میتونید چند فایل رو همزمان هم دانلود کنید:
curl -O http://test.com/file.exe -O https://test.com/script.sh
با دستور زیر فایل به آدرس لینکی که جایگزین کنید آپلود میشه:
curl -F 'data=@path/to/local/file' UPPLOAD_ADDRESS
با دستور زیر هم میشه چند تا فایل رو آپلود کرد:
curl -F 'fileX=@/path/to/fileX.exe' -F 'fileY=@/path/to/fileY.sh' UPLOAD_ADDRESS
و برای آپلود فایل بصورت آرایه:
curl -F 'files[]=@/path/to/fileX.png' -F 'files[]=@/path/to/fileY.jpg' UPLOAD_ADDRESS
این تیکه مهم ترین و کاربردی ترین قسمتشه که خودمم خیلی استفاده میکنم XD
با این دستور یه درخواست از نوع GET به سرور ویرگول ارسال میشه و پاسخ رو با محتویات text/html دریافت میکنید:
curl https://virgool.io
با این دستور میشه فقط محتویات Header رو از پاسخ سرور گرفت:
curl -I https://virgool.io
میتونید user-agent درخواست رو هم عوض کنید:
curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" https://virgool.io
برای عوض کردن متود درخواست هم به اینصورت عمل میکنیم:
curl -X POST https://virgool.io
برای تغییر Header های درخواست میتونید از -H استفاده کنید:
curl -H "Content-Type: application/json" -H "Cache-Control: no-cache" https://virgool.io
ارسال درخواست POST به همراه body:
curl -d '{"option": "value", "something": "anothervalue"}' https://virgool.io
و برای ارسال کوکی:
curl -v --cookie "USER_TOKEN=empty" https://virgool.io
حتی میتونید از پروکسی هم استفاده کنید:
curl -x 192.168.44.1:8888 http://virgool.io
اگه چیزی کم بودی داخل کامنت بگید اضافه کنم :)
نویسنده: پسر
ما رو توی بقیه پلتفرم ها دنبال کنید --->