#! /usr/bin/env ruby require 'net/http' require 'uri' def fetch(link, limit = 10, &block) raise "HTTP redirect too deep" if limit == 0 response = Net::HTTP.get_response(URI.parse(link)) yield link case response when Net::HTTPSuccess then response.body when Net::HTTPRedirection then fetch(response['location'], limit - 1, &block) else response.error! end end if ARGV.size != 1 print "Direkte link: " link = gets else link = ARGV[0] end begin data = fetch(link) { |l| puts "Henter " + l } unless data =~ /mms:\/\/([^"]*)/ raise "Kunne ikke finde en url i " + data end link = 'http://' + $1 data = fetch(link) { |l| puts "Henter " + l } unless data =~ /(http:\/\/.*)/ raise "Kunne ikke finde en url i " + data end puts "Fandt #{$1}" system "mplayer", $1 #rescue # puts "Error: " + $! end