Ruby open_uri总是404.(允许https重定向git版本)

时间:2014-03-26 12:02:24

标签: ruby http open-uri anemone

我正在使用允许https重定向的open-uri模块。

我要做的是打开域中的每个页面。我首先通过海葵爬行来做到这一点:

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.有什么想法吗?

0 个答案:

没有答案