加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails Basic Base64身份验证

发布时间:2020-12-17 02:48:45 所属栏目:百科 来源:网络整理
导读:我正在尝试复制此GET卷曲请求: curl -D- -X GET -H "Authorization: Basic dGVzdEB0YXByZXNlYXJjaC5jb206NGMzMTg2Mjg4YWUyM2ZkOTY2MWNiNWRmY2NlMTkzMGU="-H "Content-Type: application/json" http://staging.example.com/api/v1/campaigns 在Ruby中使用电
我正在尝试复制此GET卷曲请求:

curl -D- -X GET -H "Authorization: Basic dGVzdEB0YXByZXNlYXJjaC5jb206NGMzMTg2Mjg4YWUyM2ZkOTY2MWNiNWRmY2NlMTkzMGU="
-H "Content-Type: application/json" http://staging.example.com/api/v1/campaigns

在Ruby中使用电子邮件和api密钥生成auth:

auth = "Basic" + Base64::encode64("test@example.com:4c3186288ae23fd9661cb5dfcce1930e")

在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

基于我发现的其他一些SO和博客,然后我得到#< Net :: HTTP :: Get GET>的未定义方法’env’.背部.

任何想法如何设置,所以消息这样出来?

Authorization: Basic dGVzdEB0YXByZXNlYXJjaC5jb206NGMzMTg2Mjg4YWUyM2ZkOTY2MWNiNWRmY2NlMTkzMGU=

解决方法

request['Authorization'] =  "Basic " + Base64::encode64("example@example.com@:4c3186288ae23fd9661cb5dfcce1930e")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读