Ruby-HTTPS获取带有标头的调用

时间:2019-04-18 05:26:42

标签: ruby https header

查询带有标题的https Get调用。我尝试了以下

uri = URI.parse("https:\\www.someurl.com")

req = Net::HTTP::Get.new(uri)

# Following is where I am adding the header
req['Auth'] = "Bearer" + @token
response = Net::HTTP.start(uri.host,uri.port) do |http|
  request = Net::HTTP::Get.new uri.request_uri
  http.request request
end

puts(response.body)

我看到以下错误

400 The plain HTTP request was sent to HTTPS port

我尝试搜索,发现Net::HTTP.get支持https调用,但没有标题。

我进行的调用是通过API网关进行的,因此我必须在标头中添加一个令牌。

非常感谢您的帮助。预先感谢。

1 个答案:

答案 0 :(得分:1)

您需要使用use_ssl: true

uri = URI('https://secure.example.com/some_path?query=string')

response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
  request = Net::HTTP::Get.new(uri)
  request['Authentication'] = "Bearer %s" % @token
  http.request(request) 
end