2011-11-14 69 views
0

这就是我想出的,但我觉得有更好的方法。我也听说我不应该使用open-uri。如何捕获来自HTTP GET请求的响应

require 'open-uri' 

min = 1 
max = 1000 

str = open("http://www.random.org/integers/?num=#{min}&min=1&max=#{max}&col=1&base=10&format=plain&rnd=new").read 

puts str.chomp.to_i 
+0

这种方式怎么了? –

回答

2

它看起来像正常的方式,但如果你有兴趣的其他选项,看看这个:

require 'net/http' 

min = 1 
max = 1000 
address = "http://www.random.org/integers/?num=#{min}&min=1&max={#max}&col=1&base=10&format=plain&rnd=new" 

url = URI.parse(address) 
response = Net::HTTP.get_response(url) 
puts response.body # => 932 
1

你的代码是好的,但既然你问,我会写它有点不同:

require 'open-uri' 

url_template = "http://www.random.org/integers/?num=%{min}&min=1&max=%{max}&col=1&base=10&format=plain&rnd=new" 
random_number = open(url_template % {:min => 1, :max => 1000}).readline.to_i 
#=> 42 
相关问题