小编Ala*_*rey的帖子

Ruby Net :: HTTP超时

我正在尝试编写我的第一个Ruby程序,但是有问题.该代码必须通过HTTP下载32个MP3文件.它实际上下载了一些,然后是超时.

我尝试设置超时时间,但没有区别.在Windows下运行代码,Cygwin和Mac OS X具有相同的结果.

这是代码:

require 'rubygems'
require 'open-uri'
require 'nokogiri'
require 'set'
require 'net/http'
require 'uri'

 puts "\n Up and running!\n\n"

 links_set = {}

 pages = ['http://www.vimeo.com/siai/videos/sort:oldest',
   'http://www.vimeo.com/siai/videos/page:2/sort:oldest',
   'http://www.vimeo.com/siai/videos/page:3/sort:oldest']

 pages.each do |page|
  doc = Nokogiri::HTML(open(page))
  doc.search('//*[@href]').each do |m|
   video_id = m[:href]
   if video_id.match(/^\/(\d+)$/i)
     links_set[video_id[/\d+/]] = m.children[0].to_s.split(" at ")[0].split(" -- ")[0]
    end
   end
 end

 links = links_set.to_a

 p links

 cookie = ''
 file_name = ''

 open("http://www.tubeminator.com") {|f|
   cookie = f.meta['set-cookie'].split(';')[0]
 }

 links.each do |link|
  open("http://www.tubeminator.com/ajax.php?function=downloadvideo&url=http%3A%2F%2Fwww.vimeo.com%2F" + link[0],
   "Cookie" => cookie) …
Run Code Online (Sandbox Code Playgroud)

ruby timeout http

16
推荐指数
2
解决办法
2万
查看次数

标签 统计

http ×1

ruby ×1

timeout ×1