どなたか原因をご存知の方、あるいは RSS を取得出来る方法をご存知の方はいらっしゃいますか?
irb(main):001:0> require 'open-uri'
=> true
irb(main):002:0> open 'http://b.hatena.ne.jp/search?tag=ruby&mode=rss'
OpenURI::HTTPError: 503 Service Temporarily Unavailable
from /Users/****/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open-uri.rb:358:in `open_http'
from /Users/****/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open-uri.rb:736:in `buffer_open'
from /Users/****/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open-uri.rb:211:in `block in open_loop'
from /Users/****/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open-uri.rb:209:in `catch'
from /Users/****/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open-uri.rb:209:in `open_loop'
from /Users/****/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open-uri.rb:150:in `open_uri'
from /Users/****/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open-uri.rb:716:in `open'
from /Users/****/.rbenv/versions/2.2.3/lib/ruby/2.2.0/open-uri.rb:34:in `open'
from (irb):2
from /Users/****/.rbenv/versions/2.2.3/bin/irb:11:in `<main>'
ちなみにブラウザによるアクセスでは 503 になることなくフィードが表示されます。
よろしくお願いします。
User Agent をチェックしてるみたいです。
偽装したら取得できました。
require 'open-uri' url = 'http://b.hatena.ne.jp/search/tag?q=ruby&mode=rss' opt = {} opt['User-Agent'] = 'Opera/9.80 (Windows NT 5.1; U; ja) Presto/2.7.62 Version/11.01 ' open(uri, opt){ |io| resp = io.read }
User Agent をチェックしてるみたいです。
偽装したら取得できました。
require 'open-uri' url = 'http://b.hatena.ne.jp/search/tag?q=ruby&mode=rss' opt = {} opt['User-Agent'] = 'Opera/9.80 (Windows NT 5.1; U; ja) Presto/2.7.62 Version/11.01 ' open(uri, opt){ |io| resp = io.read }
なるほど!
こちらでも試してみたところうまく取得出来ました。
素早い回答ありがとうございました!
なるほど!
2015/12/27 18:07:43こちらでも試してみたところうまく取得出来ました。
素早い回答ありがとうございました!