ホームページ  >  に質問  >  本文

Ruby:使用openuri 发送http请求超时

在官方文档看了下,好像openuri默认不支持timeout吧?
http://www.ruby-doc.org/stdlib-2.1.1/libdoc/open-uri/rdoc/OpenURI.html

如果不能设置timeout的话,有替代品吗?

伊谢尔伦伊谢尔伦2712日前549

全員に返信(2)返信します

  • ringa_lee

    ringa_lee2017-04-22 08:58:03

    https://github.com/lostisland/faraday

    リーリー

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-22 08:58:03

    わざわざ Net::HTTP を使用するだけです

    リーリー

    これはドキュメントの紹介です:

    open_timeout[RW]
    接続が開くまで待機する秒数。小数点以下の秒数を含む任意の数値を使用できます。HTTP オブジェクトがこの秒数以内に接続を開くことができない場合、デフォルト値は nil です。 .

    ちなみに、翻訳してください:

    open_timeout
    接続を開始するときの最大待ち時間を設定します。その値には、非常に小さな浮動小数点数を含む任意の数値を指定できます。接続されているペイントを設定した時間内に開けない場合は、Net::OpenTimeout 例外がスローされます。デフォルト値は nil で、時間制限がないことを意味します。
    これにより、リクエストは 30 秒以内に完了するように制限されます。

    プロキシサーバー、CA証明書、SSL証明書の設定など、他にも多くの機能があります。
    詳細についてはドキュメントを参照してください。ここでは詳しく説明しません。

    返事
    0
  • キャンセル返事