اغلب بهتر است سریع شکست بخورید تا اینکه به امید موفقیت منتظر بمانید.
وقتی نوبت به درخواست وب می رسد، زمان بندی بسیار مهم است. هیچ کس دوست ندارد بی وقفه منتظر بارگذاری یک صفحه وب یا پاسخگویی یک سرور باشد. اگر از curl برای واکشی دادهها از وب استفاده میکنید، خوشحال خواهید شد که بدانید راههایی برای محدود کردن زمان درخواستهای شما وجود دارد.
در اینجا نحوه محدود کردن زمان درخواست کرل برای اطمینان از اینکه کنترل عملیات واکشی داده خود را در دست دارید، آورده شده است.
روش 1: با استفاده از گزینه –max-time
هنگام اجرای دستور curl، میتوانید گزینه -m یا –max-time را برای تعیین محدودیت زمانی دقیق برای درخواست تعیین کنید. این گزینه به شما امکان میدهد حداکثر زمانی را که میخواهید قبل از خروج با یک کد خطای مهلت زمانی (28) انجام دهد، در ثانیه تعیین کنید:
curl --max-timе [sеconds] [URL]
شما می توانید حداکثر را با دقت اعشاری تعریف کنید، که در آن 0.3 به معنای 300 میلی ثانیه، 5.46 برابر با 5460 میلی ثانیه، و 20 به معنای 20 ثانیه است.
برای مثال:
curl -o test.md --max-time 30 https://github.com/test/file1
این دستور درخواستی را به URL ارائه شده GitHub ارسال می کند. دادههای پاسخ را بهعنوان test.md ذخیره میکند و در حداکثر زمان 30 ثانیه به پایان میرسد.
روش 2: با استفاده از گزینه –connect-timeout
برای کنترل زمان صرف تلاش برای اتصال به میزبان، از گزینه –connect-timeout استفاده کنید. این یک حداکثر محدودیت زمانی برای curl برای تکمیل مراحل اتصال، از جمله جستجوی DNS و دست دادن های بعدی TCP، TLS، یا QUIC تعیین می کند.
اگر curl نتواند در بازه زمانی مشخص شده اتصال برقرار کند، با کد خطای مهلت زمانی (28) خارج می شود:
curl --connect-timeout [seconds] [URL]
مثلا:
curl -o test.md --connect-time 20 https://github.com/test/file
در اینجا دستور curl فایل مشخص شده در URL را بازیابی می کند، آن را به عنوان test.md ذخیره می کند و یک محدودیت 20 ثانیه ای برای برقراری ارتباط با سرور اعمال می کند.
درخواستهای Curl را برای بازیابی سریع کنترل کنید
در دنیایی که زمان پول است، توانایی محدود کردن زمان درخواست کرل یک مهارت مفید است. چه گزینه –connect-timeout یا –max-time را انتخاب کنید، مسئولیت واکشی داده های خود را بر عهده می گیرید. بنابراین، دیگر نیازی به انتظار بی پایان نیست، زمان آن رسیده است که درخواست های وب کارآمد و کنترل شده را ارائه دهید.
دفعه بعد که منتظر اتمام درخواست کرل هستید، این روش ها را به خاطر بسپارید و کاری کنید که کرل مطابق شرایط شما عمل کند.