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
45 lines
1.4 KiB
13 years ago
|
require 'open-uri'
|
||
13 years ago
|
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/')
|
||
13 years ago
|
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]
|
||
13 years ago
|
|
||
|
|
||
|
# ------------------------------------------------------------
|
||
|
require 'uri'
|
||
|
puts 'using "net/http" with a URI'
|
||
13 years ago
|
puts 'request object:' + \
|
||
|
Net::HTTP.get(URI.parse("http://oreilly.com")).to_s
|
||
13 years ago
|
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
|
||
|
|
||
13 years ago
|
puts 'Server=' + response['Server']
|
||
|
puts 'SERVER=' + response['SERVER']
|
||
13 years ago
|
|
||
|
puts 'all keys:'
|
||
13 years ago
|
response.each_key { |key| puts " #{key}" }
|
||
13 years ago
|
|
||
|
Net::HTTP.get_response('oreilly.com', '/about/') do |response|
|
||
|
response.read_body do |segment|
|
||
|
puts "Received segment of #{segment.size} byte(s)!"
|
||
|
end
|
||
|
end
|