У меня есть этот простой HTML-анализатор (для целей обучения), что я работаю над .:Рубин открытого редирект запрещено URI
require 'open-uri'
puts "Enter URL to parse HTML: "
url = gets.chomp
puts "Enter tag to parse from: "
tag = gets.chomp
response = open(url).read
title1 = response.index(tag)
title2 = response.index(tag.insert(1,'/')) -1
result = response[(title1 + tag.length - 1)..title2]
print result
и когда я входная http://twitter.com
, я получаю сообщение об ошибке:
ERROR: `open_loop': redirection forbidden: http://twitter.com -> https://twitter.com/ (RuntimeError)
from /usr/local/rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/open-uri.rb:149:in `open_uri'
from /usr/local/rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/open-uri.rb:704:in `open'
from /usr/local/rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/open-uri.rb:34:in `open'
from /home/ubuntu/workspace/htmlparse.rb:6:in `<main>'
Посоветуйте или помогите? Я новичок в Ruby, и мне известно о других модулях синтаксического анализа html, но я делаю это, чтобы изучить основы Ruby. Благодарю.
Я считаю, что это потому, что происходит twitter использует 'https'. FWIW - вы можете захотеть попасть на сайт, например, 'http: // www.example.org' вместо твиттера, если вы просто хотите учиться и ткнуть. – orde
Я знаю 'http: //' работа на сайте, но я думал, что open-uri автоматически перенаправляется на https, 'https: // twitter.com' работает, но http doesnt, есть ли какие-либо решения? – Vikaton