2016-06-05 4 views
0

Я пытаюсь вытащить статистику кампании из API Clickbank в рубине. Когда я запускаю образец кода, который предоставляется Clickbank. Я получаю следующую ошибку:uninitialized constant Net :: HTTPS (NameError)

uninitialized constant Net::HTTPS (NameError). What am I missing?

Пример кода.

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 

Да я кладу Дев и апи ключ в

+0

Почему вы пытаетесь использовать «Net :: HTTPS» и отключить SSL? –

ответ

1

Использование Net:HTTP и включите SSL вместо использования Net::HTTPS и отключить SSL.

Пример:

http = Net::HTTP.new('api.clickbank.com') 
http.use_ssl = true 
http.verify_mode = OpenSSL::SSL::VERIFY_NONE 
+0

Пожалуйста, объясните downvote –

0

Вы на самом деле не хотите, чтобы отключить SSL, как API требует. Я был в состоянии заставить его работать как и на основе документации по HTTP найти здесь: http://ruby-doc.org/stdlib-2.1.1/libdoc/net/http/rdoc/Net/HTTP.html

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 
+0

Прогрессирующая но получаю эту ошибку прямо сейчас: Код = 400 сообщение = Bad дата запроса = Sun, 05 Jun 2016 3:59:25 GMT сервера Apache = Content-Length = 362 соединение = close content-type = text/html; charset = iso-8859-1 –

+0

Ваш вопрос был о сообщении об ошибке ssl. Я думаю, что мой ответ заставит вас пройти мимо этого. У меня нет ключа API и, следовательно, я не могу проверить какие-либо фактические вызовы. Ниже приведена документация для списка api https://api.clickbank.com/rest/1.3/orders2, в которой перечислены все параметры, необходимые для отправки. 400 обычно означает, что вам не хватает некоторых параметров в запросе или предоставляются плохая информация об аутентификации. Вам также необходимо заполнить реальный devkey. – usbsnowcrash

Смежные вопросы