2014-01-05 7 views
6
私はこするにこのコードを使用してい

外部htmlファイル設定したカスタムタイムアウト

link = URI.parse(url) 
request = Net::HTTP::Get.new(link.path) 
response = Net::HTTP.start(link.host, link.port) {|http| 
    http.request(request) 
} 

は素晴らしい作品が、緩慢なWebページで、時にはタイムアウトを応答ですから、接続ごとにタイムアウト制限を設定する必要があります。何か案が?

+0

可能複製(http://stackoverflow.com/questions/19547184/how-to-specify [ネット:: HTTP ::ルビー2でPost.new要求の読み取りタイムアウトを指定する方法] -a-read-time-for-a-nethttppost-new-request-in-ruby-2)getとpostと同じです。 –

答えて

11

read_timeout属性を設定する必要があります。

link = URI.parse(url) 
request = Net::HTTP::Get.new(link.path) 
begin 
    response = Net::HTTP.start(link.host, link.port) {|http| 
    http.read_timeout = 100 #Default is 60 seconds 
    http.request(request) 
    } 
rescue Net::ReadTimeout => e 
    puts e.message 
end 
+0

Works !,完璧ですが、今は 'false'または' true'を返す応答が必要です。タイムアウトの応答'応答=応答しない場合はfalseを返します'のように 'あなたは知っていますか? – skozz

+1

タイムアウト例外を処理する必要があります。タイムアウトの場合に例外を処理するために変更を加えました。 – Akarsh

+0

答えが十分満足できると思うなら、正しい答えにチェックを入れてください。 – Akarsh