Net::HTTP
является частью стандартной библиотеки Ruby.Вы можете использовать require 'net/http'
, чтобы загрузить его.
Вместо использования Net::HTTP
, который является достаточно низким уровнем для того, что вы хотите сделать, я бы рекомендовал использовать Ruby's Open::URI
.
Если выВы перемещаете много HTTP-данных, возможно, вы захотите взглянуть на что-то вроде HTTPClient или Curb или Typhoeus, которые предназначены для тяжелого использования и избавят вас от необходимости писать все это с использованием Net::HTTP
.
Относительно ошибки ECONNREFUSED
: вы можете захотеть перехватить HTTPResponse, возвращенный из get_response
, а затем проверить его состояние, прежде чем пытаться прочитать тело.То, как вы делаете это сейчас, не позволяет вам реагировать на неудачный запрос.