Ich habe diesen einfachen HTML-Parser (zu Lernzwecken), die ich gearbeitet .:Ruby-open-uri Umleitung verboten
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
und wenn ich Eingang http://twitter.com
, erhalte ich diese Fehlermeldung:
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>'
Irgendwelche Ratschläge oder Hilfe? Ich bin neu in Ruby und ich kenne andere HTML-Parsing-Module, aber ich mache das, um Ruby-Grundlagen zu lernen. Vielen Dank.
Ich glaube, dass passiert, weil twitter verwendet 'https'. FWIW - Sie möchten vielleicht eine Website wie "http: // www.example.org" anstelle von Twitter aufrufen, wenn Sie nur lernen und stöbern möchten. – orde
Ich weiß 'http: //' Website funktioniert, aber ich dachte, open-Uri automatisch auf https, 'https: // twitter.com' funktioniert, aber http nicht, gibt es irgendwelche Lösungen? – Vikaton