Ruby:
发出 HTTP 请求

How to: (怎么做)

在Ruby中,发送HTTP请求可以用几个不同的库。这里我们用net/http,这是Ruby标准库的一部分。

require 'net/http'
require 'uri'

uri = URI('http://example.com/some_path?query=string')
response = Net::HTTP.get_response(uri)

puts "Response code: #{response.code}"
puts "Headers: #{response.to_hash}"
puts "Body: #{response.body}"

# 示例输出:
# Response code: 200
# Headers: { "content-type": ["text/html; charset=UTF-8"], ... }
# Body: <!doctype html>...

Deep Dive (深入了解)

历史背景

Ruby最早的HTTP库可能不够强大,但随着时间的推移,像net/http这样的库变得越来越稳定、灵活。

替代品

net/http 是内建的,但不一定是最好用的。流行的替代品有 httpartyfaraday

实现细节

net/http 里,Net::HTTP.get_response(uri) 是一个方便方法,一步获取响应。不过你可能需要手动管理连接、设置超时等。

See Also (另请参阅)