#!/usr/bin/ruby -w
# answer: http://o...content-available-to-author-only...e.jp/qa/q7011589.html
require 'net/http'
require 'uri'
uri_str = 'http://w...content-available-to-author-only...e.com/'
uri = URI.parse uri_str
p uri
response = Net::HTTP.start uri.host {|http|
http.get '/index.html'
}
p response
puts response
def fetch(uri_str, limit = 10)
# You should choose better exception.
raise ArgumentError, 'HTTP redirect too deep' if limit == 0
response = Net::HTTP.get_response(URI.parse(uri_str))
case response
when Net::HTTPSuccess
response
when Net::HTTPRedirection
fetch(response['location'], limit - 1)
else
response.value
end
end
response2 = fetch uri_str
p response2
puts response2
IyEvdXNyL2Jpbi9ydWJ5IC13CiMgYW5zd2VyOiBodHRwOi8vby4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5qcC9xYS9xNzAxMTU4OS5odG1sCgpyZXF1aXJlICduZXQvaHR0cCcKcmVxdWlyZSAndXJpJwoKdXJpX3N0ciA9ICdodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5jb20vJwp1cmkgPSBVUkkucGFyc2UgdXJpX3N0cgoKcCB1cmkKCnJlc3BvbnNlID0gTmV0OjpIVFRQLnN0YXJ0IHVyaS5ob3N0IHt8aHR0cHwKICBodHRwLmdldCAnL2luZGV4Lmh0bWwnCn0KCnAgcmVzcG9uc2UKcHV0cyByZXNwb25zZQoKZGVmIGZldGNoKHVyaV9zdHIsIGxpbWl0ID0gMTApCiAgIyBZb3Ugc2hvdWxkIGNob29zZSBiZXR0ZXIgZXhjZXB0aW9uLgogIHJhaXNlIEFyZ3VtZW50RXJyb3IsICdIVFRQIHJlZGlyZWN0IHRvbyBkZWVwJyBpZiBsaW1pdCA9PSAwCgogIHJlc3BvbnNlID0gTmV0OjpIVFRQLmdldF9yZXNwb25zZShVUkkucGFyc2UodXJpX3N0cikpCiAgY2FzZSByZXNwb25zZQogIHdoZW4gTmV0OjpIVFRQU3VjY2VzcwogICAgcmVzcG9uc2UKICB3aGVuIE5ldDo6SFRUUFJlZGlyZWN0aW9uCiAgICBmZXRjaChyZXNwb25zZVsnbG9jYXRpb24nXSwgbGltaXQgLSAxKQogIGVsc2UKICAgIHJlc3BvbnNlLnZhbHVlCiAgZW5kCmVuZAoKcmVzcG9uc2UyID0gZmV0Y2ggdXJpX3N0cgpwIHJlc3BvbnNlMgpwdXRzIHJlc3BvbnNlMg==