Ruby open-uriで中括弧(波括弧)が入ったアドレスを取得しようとすると失敗する(https使用)

API等を叩こうとして、下記ようなコードを書いたが、

require 'open-uri'
request_url = 'request_url'
open(request_url)

中括弧{やパーティカルバー|が入っていると、このようなエラーを吐いてしまう URI::InvalidURIError: bad URI(is not URI?):

 

なので、このlibrary net/httpsライブラリを使用して下記のように書いたらうまく取得する事が出来ました

httpsを使用しないときはlibrary net/httpを使用してポートを80番に変更すれば動きます。

require 'net/https'
require 'json'

host = 'graph.facebook.com'

request_url = 'request_url'

Net::HTTP.version_1_2
https = Net::HTTP.new(host, 443)
https.use_ssl = true
https.verify_mode = OpenSSL::SSL::VERIFY_NONE
https.start {|http|
  response = http.get(request_url)
  p JSON.parser.new(response.body).parse["og_object"]['engagement']['count']
}