Rubyのopen-uriの400 Bad Request対策について(Internet archive(archive.org)へのアクセスについて)
Rubyのopen-uriを用いて、Internet archiveのhttps://web.archive.org/web/20150421015448/http://www.google.com/とhttps://web.archive.org/web/20150408183138/https://suumo.jp/tochi/tokyo/sc_nishitokyo/nc_84783830/にアクセスしているのですが、googleのアーカイブには正しくアクセスできるものの、もう一つのURLは"400 Bad Request"が返っています。
また、アクセスするURLによっては、成功したり失敗したりすることもあります。
下記のサイトでは、"400 Bad Requestは殆どの場合ユーザー側に問題がある。"とありましたので対策を考えているのですが、open-uriを使用する際にTIPSがありますでしょうか。
情報ありましたら、教えていただけると助かります。
400 Bad Request
http://www.bmoo.net/archives/2012/02/312554.html
なお使用しているRubyは、2.2になります。
ruby 2.2.0preview1 (2014-09-17 trunk 47616) [x86_64-darwin14]
=====/ソースコード
require 'open-uri'
def rescue_open(url)
rescue_num = 0
begin
res = open(url)
rescue => e
print "error raise in rescue: "
p e
print "url = #{url}\n"
if rescue_num < 5 then
sleep 1
rescue_num = rescue_num + 1
retry
else
res = nil
end
end
puts "open OK url = #{url}\n\n" unless res == nil
res
end
f = rescue_open('https://web.archive.org/web/20150421015448/http://www.google.com/')
f = rescue_open('https://web.archive.org/web/20150408183138/https://suumo.jp/tochi/tokyo/sc_nishitokyo/nc_84783830/')
========/実行結果
open OK url = https://web.archive.org/web/20150421015448/http://www.google.com/
error raise in rescue: #
url = https://web.archive.org/web/20150408183138/https://suumo.jp/tochi/tokyo/sc_nishitokyo/nc_84783830/
error raise in rescue: #
url = https://web.archive.org/web/20150408183138/https://suumo.jp/tochi/tokyo/sc_nishitokyo/nc_84783830/
error raise in rescue: #
url = https://web.archive.org/web/20150408183138/https://suumo.jp/tochi/tokyo/sc_nishitokyo/nc_84783830/
error raise in rescue: #
url = https://web.archive.org/web/20150408183138/https://suumo.jp/tochi/tokyo/sc_nishitokyo/nc_84783830/
error raise in rescue: #
url = https://web.archive.org/web/20150408183138/https://suumo.jp/tochi/tokyo/sc_nishitokyo/nc_84783830/
error raise in rescue: #
url = https://web.archive.org/web/20150408183138/https://suumo.jp/tochi/tokyo/sc_nishitokyo/nc_84783830/