查询带有标题的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网关进行的,因此我必须在标头中添加一个令牌。
非常感谢您的帮助。预先感谢。
答案 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