Cara Mencegah Timeout di Curl

Cara Mencegah Timeout Di Curl



Saat mentransfer data melintasi server, Anda dapat menggunakan Curl. Ini adalah alat sumber terbuka dan lintas platform yang mendukung banyak protokol termasuk HTTPS dan HTTP. Curl berfungsi di semua platform. Namun, Anda mungkin mengalami kasus di mana Curl mengalami waktu tunggu saat menyambung ke server yang menyebabkan koneksi terputus. Jika Anda memiliki kasus seperti itu, posting ini memandu Anda tentang cara mencegah waktu habis di Curl. Baca terus!

Memahami Timeout Curl

Saat Curl mengeksekusi permintaan seperti permintaan HTTP, durasi maksimum yang diperlukan untuk menunggu peristiwa tertentu adalah periode batas waktu. Batas waktu ideal untuk mengontrol waktu yang diperlukan Curl untuk membuat koneksi, menunggu respons, atau bahkan mentransfer data. Timeout Curl diatur menggunakan parameter –max-time atau –connect-timeout.

Ada berbagai batas waktu Curl yang mungkin Anda temui. Misalnya, batas waktu koneksi menentukan durasi Curl menunggu sebelum server membuat koneksi TCP. Jika Curl gagal membuat koneksi dalam waktu yang ditentukan, koneksi akan dibatalkan. Kita akan melihat bagaimana mencegahnya di bagian selanjutnya.







Cara Mencegah Timeout di Curl

Batas waktu dapat memengaruhi koneksi Anda dan menghalangi Anda menjalankan tugas. Jika Anda mengalami kesulitan dengan timeout, ada cara untuk mencegahnya. Dengan menyetel nilai batas waktu yang akurat, Anda akan mengatur berapa lama Curl menunggu permintaan untuk menghindari penundaan. Dengan menentukan batas waktu, Anda akan mengatur bagaimana Curl menangani permintaan HTTP.



Ada dua cara utama untuk mencegah timeout di Curl:



1. –koneksi-timeout

Dalam kasus batas waktu koneksi, Anda dapat memperpanjang periode batas waktu dalam hitungan detik yang dibutuhkan Curl untuk membuat koneksi atau membatalkannya jika tidak ada respons. Dengan opsi –connect-timeout, Anda menyetel batas waktu dalam hitungan detik dengan sintaks berikut:





curl --connect-timeout

Berikut adalah contoh di mana kami menyetel batas waktu menjadi 20 detik:

Durasi yang Anda tetapkan adalah waktu maksimum yang dibutuhkan sebelum koneksi Anda dibatalkan. Dengan begitu, Anda akan mencegah waktu tunggu habis saat menggunakan Curl.



2. –max-waktu

Cara alternatif untuk mencegah timeout di Curl adalah dengan menentukan total timeout yang harus ditunggu Curl hingga koneksi dan transfer selesai. Batas waktu total ini diatur menggunakan opsi –max-time dengan sintaks berikut:

curl --max-time

Misalnya, kita dapat memiliki –max-time 30 detik seperti yang diilustrasikan berikut ini:

Dengan demikian, dibutuhkan waktu 30 detik sebelum Curl dapat mengalami timeout. Tiga puluh detik adalah waktu yang cukup untuk koneksi terjadi, dan Anda akan mencegah waktu habis.

Anda juga dapat menyetel skrip coba lagi saat waktu habis. Coba lagi terjadi ketika tidak ada koneksi yang dibuat. Opsi ini membantu Anda mencegah batas waktu dengan mengulang koneksi. Anda akan berakhir dengan kasus perulangan dalam skrip Anda. Anda dapat melakukan pengulangan beberapa kali, seperti empat kali dengan interval waktu habis 5 detik.

Bagaimana Anda mencegah waktu tunggu di Curl bergantung pada waktu tunggu yang ingin Anda cegah. Secara umum, kedua opsi tersebut adalah cara standar untuk mencegah waktu tunggu.

Kesimpulan

Timeout di Curl terjadi ketika koneksi ke server gagal dan dibatalkan. Anda dapat mencegah waktu tunggu ini dengan mengatur durasi waktu habis koneksi dan waktu maksimum sebelum koneksi terputus. Kami membahas masalah ini dan contoh yang diberikan dari dua pendekatan. Mudah-mudahan, Anda dapat menerapkan hal yang sama di pihak Anda dan mencegah waktu habis di Curl.