2013-10-11 44 views
3

如何在net/http中設置較大的超時時間? 我在做什麼是這樣的:Net :: HTTP在Ruby中獲取超時時間

rta = JSON.parse(Net::HTTP.get(URI(url))) 

我已經試過:

uri = URI(url) 
http = Net::HTTP.new(uri.host, uri.port) 
http.open_timeout = 5* 60 
http.read_timeout = 5* 60 
rta = JSON.parse(Net::HTTP.get(URI(url))) 

,但它仍然無法正常工作。

+1

也許會覆蓋Net :: HTTP的初始值設定項?請參閱:http://stackoverflow.com/questions/2229194/ruby-nethttp-time-out – CDub

回答

2

也許你可以使用OpenURI:

require 'open-uri' 
open(url, :read_timeout => 5 * 60) do |file| 
    rta = JSON.parse file 
    # ... 
end 
3

它看起來像它可能無法正常工作,因爲你正在做的類,而不是你創建的實例你get電話。嘗試將最後一行更改爲:

rta = JSON.parse(http.get(URI(url)))