Tom*_*ond 5 ruby curl ruby-on-rails
我正在尝试复制此GET卷曲请求:
curl -D- -X GET -H "Authorization: Basic dGVzdEB0YXByZXNlYXJjaC5jb206NGMzMTg2Mjg4YWUyM2ZkOTY2MWNiNWRmY2NlMTkzMGU="
-H "Content-Type: application/json" http://staging.example.com/api/v1/campaigns
Run Code Online (Sandbox Code Playgroud)
在Ruby中使用电子邮件+ api密钥生成auth:
auth = "Basic" + Base64::encode64("test@example.com:4c3186288ae23fd9661cb5dfcce1930e")
Run Code Online (Sandbox Code Playgroud)
在Ruby/Rails中复制它的最佳方法是什么?
这是我一直在尝试的:
auth = "Basic" + Base64::encode64("example@example.com@:4c3186288ae23fd9661cb5dfcce1930e")
uri = URI.parse("https://www.staging.example.com/api/v1/campaigns")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(uri.request_uri)
request.env['HTTP_AUTHORIZATION'] = auth
response = http.request(request)
puts response.body
Run Code Online (Sandbox Code Playgroud)
基于我发现的其他一些SO和博客,但后来我undefined method 'env' for #<Net::HTTP::Get GET>回来了.
任何想法如何设置,所以消息这样出来?
Authorization: Basic dGVzdEB0YXByZXNlYXJjaC5jb206NGMzMTg2Mjg4YWUyM2ZkOTY2MWNiNWRmY2NlMTkzMGU=
Run Code Online (Sandbox Code Playgroud)
request['Authorization'] = "Basic " + Base64::encode64("example@example.com@:4c3186288ae23fd9661cb5dfcce1930e")
Run Code Online (Sandbox Code Playgroud)
这是一种更直接的方法,用于request.basic_auth处理所有混乱的细节:
request = Net::HTTP::Post.new(uri)
request.basic_auth(username, password)
http = Net::HTTP.new(uri.host, uri.port)
response = http.request(request)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2300 次 |
| 最近记录: |