2017-05-14 1 views
1

は、画像がナビゲーターに表示されているが、私は取得エラーを続けるWebブラウザで動作するリンクを開くことができない私は、これまでのところ ルビー:私は、サイトmangafoxから画像を取得しようとしています

ルビー

聖霊降臨祭
require 'open-uri' 
require 'pp' 

def get_page(link) 
    page = nil 
    begin 
    page = open(link, 'User-Agent' => "Ruby/#{RUBY_VERSION}") 
    rescue Exception => e 
    puts e.class.to_s 
    puts e.message 
    end 
    return page 
end 

link = 'http://h.mfcdn.net/store/manga/9/14-116.0/compressed/Bleach-14-116[manga-rain]._manga_rain_bleach_ch116_01.jpg?token=24530ad3411b28ed7f5ef17f932e8713&ttl=1494853200' 
# tried this after researching on internet because some characters are refused in links (such as '[' or ']') 
link2 = link.gsub(/[\[\]]/) { '%%%s' % $&.ord.to_s(16) }.chomp 

pp get_page(link) 
pp get_page(link2) 

が、私はこの出力を得る:これを試してみました

URI :: InvalidURIError
悪いURIが(URIではありません?):http://h.mfcdn.net/store/manga/9/14-116.0/compressed/Bleach-14-116[manga-rain]._manga_rain_bleach_ch116_01.jpg?token=24530ad3411b28ed7f5ef17f932e8713&ttl=1494853200
OpenURIを使用してゼロ
OpenURI :: HTTPError
禁断の403
ゼロ

答えて

2

ピンチで結構ですが、あなたはより良いネットのような、より堅牢なネットワーキング・ライブラリによって提供されると思い:: HTTPまたはTyphoeus:

response = Typhoeus.get('http://h.mfcdn.net/store/manga/9/14-116.0/compressed/Bleach-14-116[manga-rain]._manga_rain_bleach_ch116_01.jpg?token=24530ad3411b28ed7f5ef17f932e8713&ttl=1494853200') 
response.body #=> binary image data 

(注:共有する前にこれをテストした - それは罰金ロード)

+0

それは完全に感謝たくさんの作品。 エラー処理のドキュメントを参照する必要がありますtho –

関連する問題