Проверьте самоподписанный сертификат TLS для HTTPS в Ruby

Проблема заключается не в хеш-коде, а в точности о удвоениях. Это вызовет некоторые странные результаты. Пример:

    double x = 371.4;
    double y = 61.9;
    double key = x + y;    // expected 433.3

    Map<Double, String> map = new HashMap<Double, String>();
    map.put(key, "Sum of " + x + " and " + y);

    System.out.println(map.get(433.3));  // prints null

Вычисленное значение (ключ) - «433.29999999999995», которое не равно EQUALS до 433.3, и поэтому вы не найдете запись на карте (хеш-код, вероятно, также отличается, но это не главная проблема).

Если вы используете

map.get(key)

, он должен найти запись ... []]

2
задан tadman 19 March 2019 в 18:09
поделиться

1 ответ

Это сработало для меня.

require 'net/http'
require 'net/https'
require 'openssl'
require 'uri'
require 'json'


ContentURI = URI.parse("example.com")
@cert_raw = File.read('cert.pem')
TestDataPath = '.'

req = Net::HTTP::Get.new(ContentURI.path)
https = Net::HTTP.new(ContentURI.host, ContentURI.port)
https.use_ssl = true
https.cert = OpenSSL::X509::Certificate.new(@cert_raw)
https.key = OpenSSL::PKey::RSA.new(@cert_raw)
https.verify_mode = OpenSSL::SSL::VERIFY_PEER
resp = https.start { |cx| cx.request(req) }
p resp
p resp.body
0
ответ дан Ashima Sood 19 March 2019 в 18:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: