Guest User

Untitled

a guest
Oct 20th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rails 0.95 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2.  
  3. require 'net/http'
  4. require 'uri'
  5.  
  6. # ensure that we're getting a first argument and that it's a valid URI
  7. abort("You must specify a hostname as the first argument.") if ARGV.first.nil?
  8. abort("Invalid URI") unless uri = URI.parse(ARGV.first)
  9.  
  10. # create our request object
  11. req = Net::HTTP::Head.new(uri.request_uri)
  12. http = Net::HTTP.new(uri.host, uri.port)
  13. req.add_field("Host", uri.host)
  14.  
  15. # add the custom range headers to our request object
  16. # we're adding 100 different ranges with offsets between 1 and 100.
  17. 1000.times do
  18.     req.add_field("Range", "5-#{Random.rand(0..1300)}")
  19. end
  20.  
  21. # get the response by making the request
  22. # TODO: make this block easier to understand
  23. res = http.request(req)
  24.  
  25. # print out our request and response
  26. puts "Request: #{res.inspect}"
  27. req.each do |key,value|
  28.     puts "#{key}: #{value}"
  29. end
  30.  
  31. puts "\n"
  32.  
  33. puts "Response: #{res.inspect}"
  34. res.each do |key,value|
  35.     puts "#{key}: #{value}"
  36. end
Add Comment
Please, Sign In to add comment