You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.4 KiB

require 'open-uri'
puts 'using "open-uri"'
puts open('http://oreilly.com/').read(200)
# ------------------------------------------------------------
require 'net/http'
puts 'using "net/http"'
response = Net::HTTP.get_response('oreilly.com', '/about/')
puts 'response.code=' + response.code.to_s
puts 'response.body.size=' + response.body.size.to_s
puts 'response[\'Content-type\']=' + response['Content-type']
puts 'response[0, 200]' + response.body[0, 200]
# ------------------------------------------------------------
require 'uri'
puts 'using "net/http" with a URI'
puts 'request object:' + \
Net::HTTP.get(URI.parse("http://oreilly.com")).to_s
response = Net::HTTP.get_response(URI.parse("http://oreilly.com/about/"))
# .........
puts "Success!" if response.is_a? Net::HTTPOK
puts case response.code[0]
when ?1 then "Status code indicates an HTTP informational response."
when ?2 then "Status code indicates success."
when ?3 then "Status code indicates redirection."
when ?4 then "Status code indicates client error."
when ?5 then "Status code indicates server error."
else "Non-standard status code."
end
puts 'Server=' + response['Server']
puts 'SERVER=' + response['SERVER']
puts 'all keys:'
response.each_key { |key| puts " #{key}" }
Net::HTTP.get_response('oreilly.com', '/about/') do |response|
response.read_body do |segment|
puts "Received segment of #{segment.size} byte(s)!"
end
end