curl コマンドでタイムアウトを指定する方法

目次

スポンサードリンク

curlコマンドはサーバーとの間でデータ転送するためのツールです。curlコマンドの基本構文は以下です。コマンドの後にオプション、HTTPやFTPなどのプロトコルで通信するサーバーのURLを入力します。

curl [オプション] [URL]

関連記事
curlコマンドが対応しているプロトコル一覧

タイムアウトを指定する方法

タイムアウトを指定するオプションは2つあります。 サーバーへの接続にかかる最大時間を指定する、–connect-timeout オプションと、curl コマンドの処理全体の最大時間を指定する、–max-time オプション(-m も同様)です。

下記サンプルのように、秒数をオプションで指定します。

[root@hostname tmp]# curl --connect-timeout 30 --max-time 120  https://uchy.me/blog/

デフォルトのタイムアウト

curlコマンドのデフォルトタイムアウトは、OSや環境によって異なるようです。–connect-timeout は lib/connect.h の DEFAULT_CONNECT_TIMEOUT マクロで定義されています。https://github.com/curl/curl からダウンロードしたソースコードを見ると、5分とされていました。ただしビルド時のオプションで指定できるようなので環境により異なるようです。

./lib/connect.h:41:#define DEFAULT_CONNECT_TIMEOUT 300000 /* milliseconds == five minutes */



Linuxコマンドについて学べるおすすめ書籍
Linuxコマンドの知識は、プログラマにとって長く役立つ知識です。 私はこちらの書籍で一通り知識を抑えました。基本から丁寧に解説されています。

Linux教科書 図解でパッとわかる LPIC/LinuC
はじめてLPICを受ける方向け、手を動かしながらLinuxについて学びたい方におすすめ。30日間の無料体験もできる『Kindle Unlimited』でも読むことができます。

Linuxコマンドについて徹底的に学べるUdemy講座
もう絶対に忘れない Linux コマンド【Linux 100本ノック+名前の由来+丁寧な解説で、長期記憶に焼き付けろ!】 icon