在官方文档看了下,好像openuri默认不支持timeout吧?
http://www.ruby-doc.org/stdlib-2.1.1/libdoc/open-uri/rdoc/OpenURI.html
如果不能设置timeout的话,有替代品吗?
天蓬老师2017-04-22 08:58:03
わざわざ Net::HTTP を使用するだけです
リーリーこれはドキュメントの紹介です:
open_timeout[RW]
接続が開くまで待機する秒数。小数点以下の秒数を含む任意の数値を使用できます。HTTP オブジェクトがこの秒数以内に接続を開くことができない場合、デフォルト値は nil です。 .
ちなみに、翻訳してください:
open_timeout
接続を開始するときの最大待ち時間を設定します。その値には、非常に小さな浮動小数点数を含む任意の数値を指定できます。接続されているペイントを設定した時間内に開けない場合は、Net::OpenTimeout 例外がスローされます。デフォルト値は nil で、時間制限がないことを意味します。
これにより、リクエストは 30 秒以内に完了するように制限されます。
プロキシサーバー、CA証明書、SSL証明書の設定など、他にも多くの機能があります。
詳細についてはドキュメントを参照してください。ここでは詳しく説明しません。