Ruby 自动获取请求的默认端口
我目前拥有以下代码:Ruby 自动获取请求的默认端口,ruby,net-http,Ruby,Net Http,我目前拥有以下代码: if protocol == 'http' port = Net::HTTP.http_default_port() endpoint = Net::HTTP.new(host, port) else port = Net::HTTP.https_default_port() endpoint = Net::HTTP.new(host, port) endpoint.use_ssl = true
if protocol == 'http'
port = Net::HTTP.http_default_port()
endpoint = Net::HTTP.new(host, port)
else
port = Net::HTTP.https_default_port()
endpoint = Net::HTTP.new(host, port)
endpoint.use_ssl = true
end
request = Net::HTTP::Get.new("/item/#{item}")
request['Authorization'] = "Bearer #{key}"
response = endpoint.request(request)
有没有一种方法可以简化这个过程,这样我就不必决定自己使用的默认端口了?您可以使用ruby的动态调度 port=Net::HTTP.send{protocol}\u默认\u端口 endpoint=Net::HTTP.newhost,端口 endpoint.use_ssl=协议=='https' request=Net::HTTP::Get.new/item/{item} 请求['Authorization']=承载{key} response=endpoint.requestrequest 或者以更优雅的方式: path=URI'https://example.com' Net::HTTP.startpath.host,path.port,使用_ssl:path.scheme==“https”do | HTTP| request=Net::HTTP::Get.new路径 请求['Authorization']=承载{key} response=http.requestrequest 终止