Если у вас есть доступ к журналам сервера, попробуйте сравнить запрос из браузера с запросом из Ruby и посмотреть, говорит ли он вам что-нибудь. Если это не практично, запустите Webrick как макет файлового сервера. Не беспокойтесь о результатах, просто сравните запросы, чтобы увидеть, что они делают по-другому.
Что касается стиля Ruby, вы можете перемещать заголовки, например, так:
httpcall = Net::HTTP.new(@address, @port)
resp, data = httpcall.get2(@path, 'Range' => 'bytes=1000-')
Также обратите внимание, что в Ruby 1.8+, который вы почти наверняка используете, Net::HTTP#get2
возвращает один HTTPResponse
объект, а не resp, data
пару.