在Ruby中,您可以使用内置的net/http
库来发送HTTP请求。以下是一个简单的示例,展示了如何使用该库发送GET和POST请求以及包含数据的情况:
require 'net/http'
require 'uri'
# 发送GET请求
def get_request(url)
uri = URI.parse(url)
response = Net::HTTP.get_response(uri)
puts "GET Response: #{response.body}"
end
# 发送POST请求
def post_request(url, data)
uri = URI.parse(url)
request = Net::HTTP::Post.new(uri)
request.set_form_data(data) # 设置表单数据
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(request)
end
puts "POST Response: #{response.body}"
end
# 示例数据
get_url = 'https://jsonplaceholder.typicode.com/todos/1'
post_url = 'https://jsonplaceholder.typicode.com/posts'
post_data = {
title: 'New post',
body: 'This is the content of the new post.',
userId: 1
}
# 发送GET请求
get_request(get_url)
# 发送POST请求
post_request(post_url, post_data)
在这个示例中,我们定义了两个方法:get_request
和post_request
。get_request
方法接受一个URL参数,并使用Net::HTTP.get_response
发送GET请求。post_request
方法接受一个URL和一个包含要发送的数据的哈希参数。我们使用Net::HTTP::Post.new
创建一个新的POST请求,并使用set_form_data
方法设置表单数据。然后,我们使用Net::HTTP.start
启动一个HTTP连接,并使用http.request
发送请求。
请注意,这个示例仅用于演示目的。在实际应用中,您可能需要根据具体需求对代码进行调整,例如添加错误处理、设置请求头等。