Ваш код работает, когда я указываю, например, http://www.google.com,, поэтому я подозреваю, что ваш сервер выплевывает что-то, что вызывает расстройство желудка Net :: HTTP. Попробуйте добавить эту строку сразу после вашего звонка на HTTP.new:
http.set_debug_output($stderr)
Это должно выбросить всю транзакцию на экран. Я предполагаю, что вы найдете что-то странное с полем Content-Length в заголовке ответа (Net :: HTTP ожидает найти строку цифр в этом поле). Если из этого не ясно, в чем дело, тогда опубликуйте этот вывод (или, по крайней мере, часть заголовка ответа) здесь и позвольте этим умным парням попробовать.