URL کلاینت یا cURL ، یک کتابخانه و ابزار خط فرمان برای انتقال داده ها بین سیستم ها است. از بسیاری از پروتکل ها پشتیبانی می کند و به طور پیش فرض روی بسیاری از سیستم عامل های یونیکس مانند نصب میباشد. به دلیل در دسترس بودن به صورت عمومی ، برای زمانی که شما نیاز به دانلود یک فایل در سیستم محلی خود دارید ، به خصوص در محیط سرور مجازی ، انتخاب خوبی است.
در این آموزش ، از دستور curl برای دانلود یک فایل متنی از سرور مجازی وب استفاده خواهید کرد. شما محتویات آن را مشاهده خواهید کرد ، آن را به صورت محلی ذخیره خواهید کرد و به curl خواهید گفت که اگر فایل ها منتقل شده اند ، ریدایرکت ها را دنبال کند.
دانلود فایل ها از طریق اینترنت می تواند خطرناک باشد ، بنابراین مطمئن شوید که از منابع معتبر دانلود می کنید.
مرحله 1 – گرفتن فایل های از راه دور
خارج از باکس ، بدون هیچ آرگومان خط فرمان ، دستور curl یک فایل را واکشی می کند و محتوای آن را به خروجی استاندارد نشان می دهد.
با دانلود فایل robots.txt بیایید آن را امتحان کنیم:
· $ curl https://www.digitalocean.com/robots.txt
محتوای فایل را در صفحه نمایش خواهید دید:
Output
User-agent: *
Disallow:
sitemap: https://www.digitalocean.com/sitemap.xml
sitemap: https://www.digitalocean.com/community/main_sitemap.xml.gz
sitemap: https://www.digitalocean.com/community/questions_sitemap.xml.gz
sitemap: https://www.digitalocean.com/community/users_sitemap.xml.gz
به curl یک URL بدهید و منبع را واکشی کرده و محتوای آن را نمایش می دهد.
ذخیره فایل های از راه دور
واکشی یک فایل و نمایش محتوای آن کاملاً خوب است ، اما اگر بخواهید فایل را در سیستم خود ذخیره کنید چه می کنید؟
برای ذخیره فایل از راه دور در سیستم محلی خود ، با همان نام فایل سرور مجازی که از آن دانلود می کنید ، آرگومان –remote-name را اضافه کنید یا از گزینه -O استفاده کنید:
- $ curl -O https://www.digitalocean.com/robots.txt
فایل شما دانلود می شود:
[secondary_label Output
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 286 0 286 0 0 5296 0 –:–:– –:–:– –:–:– 5296
curl به جای نمایش محتویات فایل ، پیشرفت بر پایه متن را نشان می دهد و فایل را به همان نام فایل راه دور ذخیره می کند. با دستور cat می توانید موارد را بررسی کنید:
- $ cattxt
این فایل شامل همان مطالبی است که قبلاً مشاهده کرده اید:
[secondary_label Output
User-agent: *
Disallow:
sitemap: https://www.digitalocean.com/sitemap.xml
sitemap: https://www.digitalocean.com/community/main_sitemap.xml.gz
sitemap: https://www.digitalocean.com/community/questions_sitemap.xml.gz
sitemap: https://www.digitalocean.com/community/users_sitemap.xml.gz
اکنون بیایید به تعیین یک نام فایل برای فایل دانلود شده بپردازیم.
مرحله 2 – ذخیره فایل های از راه دور با نام فایل خاص
ممکن است قبلاً یک فایل محلی با همان نام فایل در سرور مجازی راه دور داشته باشید.
برای جلوگیری از رونویسی مجدد فایل محلی خود به همین نام ، از آرگومان -o یا –output و به دنبال آن نام فایل محلی که می خواهید محتوا را در آن ذخیره کنید استفاده کنید.
برای دانلود فایل از راه دور robots.txt در فایل do-bots.txt که به صورت محلی نامگذاری شده است ، دستور زیر را اجرا کنید:
- $ curl -o do-bots.txt https://www.digitalocean.com/robots.txt
بار دیگر نوار پیشرفت را مشاهده خواهید کرد:
Output
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 286 0 286 0 0 6975 0 –:–:– –:–:– –:–:– 7150
اکنون برای نمایش محتویات do-bots.txt از دستور cat استفاده کنید تا فایل مورد نظر را دانلود کنید:
- $ cat do-bots.txt
خروجی یکسان میباشد:
Output
User-agent: *
Disallow:
sitemap: https://www.digitalocean.com/sitemap.xml
sitemap: https://www.digitalocean.com/community/main_sitemap.xml.gz
sitemap: https://www.digitalocean.com/community/questions_sitemap.xml.gz
sitemap: https://www.digitalocean.com/community/users_sitemap.xml.gz
به طور پیش فرض ، curl تغییر مسیرها را دنبال نمی کند ، بنابراین هنگام انتقال فایل ها ، ممکن است آنچه انتظار دارید را دریافت نکنید. بیایید ببینیم چگونه این مشکل را برطرف کنیم.
مرحله 3 – دنبال کردن تغییر مسیرها
تاکنون همه مثالها شامل URL های کاملاً واجد شرایط هستند که شامل پروتکل https: // هستند. اگر بخواهید فایل robots.txt را گرفته و فقط www.example.com را مشخص کنید ، هیچ خروجی نمی بینید ، زیرا example درخواست های http: // را به https: // هدایت می کند:
شما می توانید این را با استفاده از پرچم -I تأیید کنید ، که عناوین درخواست را به جای محتویات فایل نمایش می دهد:
- $ curl -I www.digitalocean.com
خروجی نشان می دهد که URL تغییر مسیر داده است. خط اول خروجی به شما می گوید که جابه جا شده است و خط location مکان آن را به شما می گوید:
[secondary_label Output
HTTP/1.1 301 Moved Permanently
Date: Wed, 26 Aug 2020 19:01:33 GMT
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Wed, 26 Aug 2020 20:01:33 GMT
Location: https://www.digitalocean.com/robots.txt
cf-request-id: 04cdbea7a40000c5cc8d34d200000001
Server: cloudflare
CF-RAY: 5c8fcd52aea0c5cc-EWR
می توانید از curl برای درخواستی دیگر به صورت دستی استفاده کنید ، یا می توانید از آرگومان –location یا -L استفاده کنید که به curl می گوید هر زمان که با یک تغییر مسیر مواجه شد درخواست را به مکان جدید دوباره انجام دهد. آن را امتحان کنید:
- $ curl -L www.digitalocean.com/robots.txt
این بار خروجی را مشاهده می کنید ، زیرا curl به دنبال تغییر مسیر می رود:
Output
User-agent: *
Sitemap: https://www.digitalocean.com/sitemap.xml
برای دانلود فایل در سیستم محلی خود می توانید آرگومان -L را با برخی از آرگومان های فوق الذکر ترکیب کنید:
- $ curl -L -o do-bots.txt www.digitalocean.com/robots.txt
هشدار: بسیاری از منابع آنلاین از شما می خواهند که برای دانلود اسکریپت ها و اجرای آنها از curl استفاده کنید. قبل از اجرای اسکریپت های دانلود شده ، بهتر است محتوای آنها را بررسی کنید. برای بررسی کد و اطمینان از چیزی که می خواهید اجرا کنید ، از دستور less استفاده کنید.
نتیجه
curl به شما امکان می دهد که فایل ها را سربع از یک سیستم از راه دور دانلود کنید. Curl از پروتکل های مختلف پشتیبانی می کند و همچنین می تواند درخواست های وب پیچیده تری از جمله تعامل با API های از راه دور برای ارسال و دریافت داده ها را ایجاد کند.
با مشاهده صفحه دستی man در مورد curl می توانید اطلاعات بیشتری کسب کنید.
خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان –
- ۹۹/۰۶/۱۹