質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

0回答

672閲覧

RUBYスクリプトでnet/httpライブラリを利用してTLSでアクセスする方法

hokuhoku8

総合スコア29

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

1クリップ

投稿2019/08/26 07:52

以下のようなRUBYスクリプトでHTTPSのAPIを叩いていたのですが、
数日前から、リモートAPIより
「An existing connection was forcibly closed by the remote host. - SSL_connect」
とエラー表示があり接続できなくなりました。

リモートAPIがTLSでのみ接続を許可する仕様になった可能性を考えて、現行のRUBYスクリプトは
以下のようにnet/httpライブラリを利用して GETリクエストを投げているのですが、その接続方式を
TLSのみに変更するにはどのような手順が必要になるのが、ご教示頂きたいです。

皆様よろしくお願い致します。

RUBY

1require 'net/http' 2require 'net/https' 3 4def get_access_token(client_id, secret) 5 uri = URI.parse("https://xxxxxxxx.com") 6 if client_id.nil? || secret.nil? 7 @@logger.info "args doesn't set" 8 else 9 request = Net::HTTP::Get.new(uri) 10 request.basic_auth(client_id, secret) 11 request.verify_mode = OpenSSL::SSL::VERIFY_PEER 12 response = Net::HTTPS.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http| 13 http.request(request) 14 end 15 if response.code == '200' 16 access_token = JSON.parse(response.body)['access_token'] 17 else 18 ... 19

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asm

2019/08/26 08:14

Rubyのバージョンはいくつになっているのでしょうか? Net::HTTPSがあるのは大分古かったように記憶しています。
hokuhoku8

2019/08/26 08:53

>ruby -v ruby 2.1.4p265 (2014-10-27 revision 48166) [i386-mingw32] RUBYのバージョンに依存するのでしょうか?
hokuhoku8

2019/08/26 10:02

RUBY 2.6のバージョンアップで解決しました。
asm

2019/08/26 10:05

では、おそらくTLS1.3を要求されてるのでしょう
gouf

2019/08/26 15:10

解決した場合、その内容を自己回答としてまとめ、それをベストアンサーに設定することでこの質問を解決済みにすることができます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問