Вы получаете EOFError
, потому что вы пытаетесь подключиться к URL-адресу https
, используя код, который работает только с http
.См. Раздел «Запрос SSL / HTTPS» в этом Net :: HTTP Шпаргалке для ознакомления с основами.
Однако я бы порекомендовал использовать стороннюю библиотеку для управления этим для вас.Например, OAuth2 для использования API OAuth2 Facebook, где вы написали бы такой код:
def client
OAuth2::Client.new('app_id', 'app_secret', :site => 'https://graph.facebook.com')
end
# in your callback code:
access_token = client.web_server.get_access_token(params[:code], :redirect_uri => 'http://localhost:3000/auth/fblogin')
user = JSON.parse(access_token.get('/me'))
Если вы действительно хотите сделать запросы самостоятельно, вы можете посмотреть на библиотеки как Фарадей для выполнения HTTPS-запросов за вас.