所以我需要通过https:
运行此命令curl -u "{user_id}:{license_key}" \
"https://geoip.maxmind.com/geoip/v2.1/city/me?pretty"
我在想这可能是这个
http://www.ruby-doc.org/stdlib-2.1.3/libdoc/net/http/rdoc/Net/HTTP.html#class-Net::HTTP-label-HTTPS
有没有办法实现这个目标?
答案 0 :(得分:0)
我假设您正在尝试进行基本身份验证。对于使用SSL基本身份验证的net/http
获取请求,您可以执行以下操作:
require 'uri'
require 'net/http'
uri = URI("https://geoip.maxmind.com/geoip/v2.1/city/me?pretty")
uri.basic_auth 'user_id', 'license_key'
res = Net::HTTP.start(uri.hostname, uri.port, :use_ssl => true) { |http|
http.request(req)
}
puts res.body
我个人发现所有这些设置非常麻烦;您还可以选择标准库选项的用户友好的宝石。以下是使用httparty
查看相同请求的方式:
require 'httparty'
auth = { :username => 'user_id', :password => 'license_key' }
res = HTTParty.get("https://geoip.maxmind.com/geoip/v2.1/city/me?pretty",
:basic_auth => auth)