Ruby open_uri всегда 404. (разрешить https перенаправляет git-версию)
Я использую модуль open-uri, который позволяет перенаправления https.
Я пытаюсь открыть каждую страницу из домена. Я делаю это, сначала сканируя его через анемон:
require 'anemone'
require "./open_uri"
class Query
def initialize()
fs = File.read("file.json");
string = JSON.parse(fs);
string["items"].each do |item|
Anemone.crawl("http://" + item["displayLink"] + "/") do |anemone|
anemone.on_every_page do |page|
#p page.url
begin
OpenURI.open_uri(page.url) do |f|
f.each_line do |line|
p line
end
end
rescue
p "404"
next
end
end
end
p "---------------------------------------------------------"
end
end
end
qs = Query.new()
Я пытаюсь открыть его, а затем вывести каждую строку в консоль, однако выглядит так, как будто все напечатано в моей консоли, это 404. Глядя на мой код, это будет означать, что open_uri не сможет открыть ни одну из ссылок, даже если они действительны насколько я знаю.
Что мне здесь не хватает?
Также
rescue Exception=> e
p e
end
выводит на консоль следующее:
#<OpenURI::HTTPError: 404 Not Found>
- ОБНОВИТЬ
Как советовали в комментариях, я попытался свернуть ссылки, которые получают ошибку 404, и консоль в выходных данных не возвращает страницу 404. Я перепробовал около 40 возвращенных ссылок, и ни одна из них после того, как они свернулись в консоли, не вернули 404. Есть идеи?