در این مقاله از کرالاهاست به شما دستور های کاربردی CURL را آموزش میدهیم. هر sys admin یا برنامه نویس حرفه ای باید این ها را بداند.
cURL یک ابزار جادویی است که به توسعه دهندگان اجازه می دهد محتوای URL را بارگیری کنند ، response header را بررسی کنند ، قیمت سهام را دریافت کنند ، تأیید کنند که کدگذاری GZip ما کار می کند و موارد دیگر.
یکی دیگر از کاربردهای بزرگ cURL برای خط فرمان ارسال اطلاعات فرم به سرور است ، به ویژه هنگام آزمایش پردازش متوسط تا پیشرفته فرم. و درست مانند سایر دستورات cURL ، ارسال اطلاعات فرم فوق العاده ساده است.
برای استفاده از curl شما نیاز به درک پروتکل HTTP دارید. اگر با HTTP HEADERS آشنایی ندارید ، همه چیز درباره HTTP Headers – راهنمای دقیق را بررسی کنید.
مثال 1 – اگر می خواهید درخواست GET را با curl انجام دهید ، دستور زیر است:
curl https://www.yeahhub.com/
همچنین می توانید یک درخواست POST با curl مانند شکل زیر ارسال کنید:
curl -X POST -F ‘username=yeahhub’ -F ‘password=yeahhub’ http://example.com/post.php
مثال 2 – اگر می خواهید کل پاسخ را در یک فایل HTML ذخیره کنید ، دستور زیر است:
curl https://www.yeahhub.com > filename.html
مثال 3 -علاوه بر این ، اگر می خواهید تمام مراحل ارسال درخواست و بازیابی پاسخ را در حالت کلمه مشاهده کنید ، می توانید از گزینه -v مطابق شکل زیر استفاده کنید:
curl -v https://www.yeahhub.com/
گزینه واضح cURL شامل هدرهای درخواست و سرصفحه های پاسخ می باشد. خطوطی که با ‘>’ شروع می شوند عبارتند از سرصفحه درخواست یا داده هدر ارسال شده توسط curl.
توجه: این گزینه همیشه برای اشکال زدایی و دیدن آنچه در زیر “کاپوت” اتفاق می افتد مفید است.
با گزینه -V (Capital V) ، می توانید اطلاعات اولیه در مورد curl مانند نسخه libcurl و همه را بررسی کنید.
مثال 4 – همچنین می توانید هنگام ارسال درخواست به هدف ، نرخ محدودیت تعیین کنید.
curl –limit-rate 2000B https://www.yeahhub.com/
سرعت داده شده بر حسب بایت/ثانیه اندازه گیری می شود ، مگر اینکه پسوندی ضمیمه شود.
نرخ محدودیت چیزی نیست جز حداکثر نرخ انتقال که از آن برای بارگذاری و بارگیری استفاده می کنید. اگر محدودیت لوله دارید و دوست دارید انتقال شما از پهنای باند کل شما استفاده نکند ، این ویژگی مفید است.
با افزودن “k” یا “K” تعداد به عنوان کیلوبایت شمارش می شود ، “m” یا “M” آن را مگابایت می کند ، در حالی که “g” یا “G” آن را گیگابایت می کند. مثالها: 200K ، 3m و 1G.
مثال 5 – cURL همچنین از سرورهای پروکسی HTTP و SOCKS با احراز هویت اختیاری پشتیبانی می کند. این برنامه از سرورهای پروکسی FTP پشتیبانی خاصی ندارد زیرا هیچ استانداردی برای این سرورها وجود ندارد ، اما هنوز می توان با بسیاری از آنها کار کرد. همچنین می توانید از پروکسی HTTP و SOCKS برای انتقال فایل ها به و از سرورهای FTP استفاده کنید.
curl –proxy 127.0.0.1:1337 yeahhub.com
حتی می توانید درخواست را مستقیماً از طریق گزینه –proxy به برخی از رهگیرها (Burp Suite Tool) ارسال کنید.
اگر پروکسی به جای –proxy یا –x با –proxy1.0 مشخص شده باشد ، curl از HTTP/1.0 به جای HTTP/1.1 برای هر گونه تلاش CONNECT استفاده می کند.
مثال 6 – هنگام درخواست با curl می توانید هر تعداد سرصفحه اضافی را مشخص کنید.
curl –header ‘Content-Type: application/json’ https://www.yeahhub.com/
توجه داشته باشید که اگر باید یک سرصفحه سفارشی اضافه کنید که دارای نامی مشابه با یکی از موارد داخلی باشد ، از سرصفحه تنظیم شده خارجی شما به جای عنوان داخلی استفاده می شود.
این به شما امکان می دهد حتی چیزهای پیچیده تری از کارهای معمولی تهیه کنید. شما نباید سرصفحه های داخلی را بدون اطلاع کامل از کارهایی که انجام می دهید جایگزین کنید.
مثال 7 -حتی می توانید سرصفحه سفارشی خود را به پاسخ اضافه کنید ، اما برای این کار هنگام درخواست با cURL باید از گزینه -v استفاده کنید.
curl –header ‘X-Header: Yeahhub’ -v https://www.yeahhub.com/
و در صورتی که بخواهید تمام سرصفحه های یک هدف خاص را حذف کنید ، می توانید از دستور زیر استفاده کنید:
مثال 8 – پروتکل های مختلف روشهای متفاوتی برای به دست آوردن اطلاعات دقیق در مورد فایلها/اسناد خاص ارائه می دهند. برای دریافت curl برای نمایش اطلاعات دقیق در مورد یک فایل ، باید از گزینه -I/–head استفاده کنید.
curl –head https://www.yeahhub.com/
مثال 9 – به طور پیش فرض ، هر اتصال SSL که ایجاد می کند ایمن است. گزینه –necure به curl اجازه می دهد تا به شیوه ای ناامن پیش برود و عمل کند.
curl –insecure https://www.yeahhub.com/
مثال 10 – با کمک دستور زیر ، SSL به curl می گوید هنگام مذاکره با سرور TLS از راه دور حداقل از TLS نسخه 1.x استفاده کند. یعنی TLS نسخه 1.0 یا بالاتر.
curl –tlsv1 https://www.yeahhub.com/