首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未初始化常量网::HTTPS (NameError)

未初始化常量网::HTTPS (NameError)
EN

Stack Overflow用户
提问于 2016-06-05 02:55:56
回答 3查看 13.4K关注 0票数 6

我试图从红宝石中的Clickbank中提取竞选数据。运行示例代码时,Clickbank提供了。我得到以下错误:

未初始化常量Net::HTTPS (NameError)。我遗漏了什么?

示例代码。

代码语言:javascript
复制
require 'net/http'
require 'net/https'

http = Net::HTTPS.new('api.clickbank.com')
http.use_ssl = false
path = '/rest/1.3/orders/list'

headers = {
  'Authorization' => '<< DEVKEY >>:<< APIKEY>>',
  'Accept' => 'application/json'
}

resp, data = http.get(path, nil, headers)

puts 'Code = ' + resp.code
puts 'Message = ' + resp.message
resp.each {|key, val| puts key + ' = ' + val}
puts data

是的,我把我的dev和api密钥放在

EN

回答 3

Stack Overflow用户

发布于 2017-09-01 20:03:26

在Ruby2.4.1中,启用ssl作为Net::HTTP.start的一个参数

代码语言:javascript
复制
Net::HTTP.start(uri.host, uri.port, use_ssl: true)

https://ruby-doc.org/stdlib-2.4.1/libdoc/net/http/rdoc/Net/HTTP.html#class-Net::HTTP-label-HTTPS

票数 4
EN

Stack Overflow用户

发布于 2016-06-05 03:01:41

使用Net:HTTP并启用SSL,而不是使用Net::HTTPS和禁用SSL。

示例:

代码语言:javascript
复制
http = Net::HTTP.new('api.clickbank.com')
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
票数 3
EN

Stack Overflow用户

发布于 2016-06-05 03:09:22

实际上,您不想禁用ssl,因为API需要它。根据http的文档,我能够让它像这样工作:http://ruby-doc.org/stdlib-2.1.1/libdoc/net/http/rdoc/Net/HTTP.html

代码语言:javascript
复制
require 'net/http'

uri = URI('https://api.clickbank.com/rest/1.3/orders/list')
req = Net::HTTP::Get.new(uri)
# set headers on the request
req['Authorization'] = '<< DEVKEY >>:<< APIKEY>>'
req['Accept'] = 'application/json'
# perform the request
resp, data = Net::HTTP.start(uri.hostname, uri.port) {|http|
  http.request(req)
}

puts 'Code = ' + resp.code
puts 'Message = ' + resp.message
resp.each {|key, val| puts key + ' = ' + val}
puts data
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37637994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档