在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
發送請求。
請注意,這個示例僅用于演示目的。在實際應用中,您可能需要根據具體需求對代碼進行調整,例如添加錯誤處理、設置請求頭等。