MST

星途 面试题库

面试题:Ruby中如何使用Net::HTTP发送带自定义头部的GET请求

在Ruby中,利用Net::HTTP库发送一个GET请求到指定的URL,并在请求头中添加自定义的头部信息,例如添加一个名为'Custom - Header',值为'example'的头部,简要说明代码思路并给出完整代码示例。
15.1万 热度难度
编程语言Ruby

知识考点

AI 面试

面试题答案

一键面试

代码思路

  1. 引入net/http库,这是Ruby中用于HTTP请求的标准库。
  2. 创建一个URI对象,用于表示要请求的URL。
  3. 使用Net::HTTP类的get方法发送GET请求,并在请求头中添加自定义头部信息。
  4. 处理响应,例如输出响应的状态码、头部信息和主体内容。

完整代码示例

require 'net/http'
require 'uri'

# 创建URI对象
uri = URI('https://example.com')

# 发送GET请求并添加自定义头部
response = Net::HTTP.get(uri, {'Custom - Header' => 'example'})

# 输出响应内容
puts response

在上述代码中,https://example.com替换为你实际要请求的URL。Net::HTTP.get方法会返回一个包含响应内容的字符串。如果需要获取响应的状态码、头部信息等更多内容,可以使用Net::HTTP.start块结合Net::HTTP::Get请求对象,如下:

require 'net/http'
require 'uri'

uri = URI('https://example.com')

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true if uri.scheme == 'https'

request = Net::HTTP::Get.new(uri)
request['Custom - Header'] = 'example'

response = http.request(request)

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