Forum: Ruby open_uri.rb -- 500 Internal Server Error

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Vikas G. (Guest)
on 2009-01-17 07:03
Hello to all,
I am using 'open-uri' & 'pp' ruby library, to open url and gather some
data from given web page. But it throws following error

c:/ruby/lib/ruby/1.8/open-uri.rb:278:in `open_http': 500 Internal Server
Error (
OpenURI::HTTPError)
        from c:/ruby/lib/ruby/1.8/open-uri.rb:617:in `buffer_open'
        from c:/ruby/lib/ruby/1.8/open-uri.rb:164:in `open_loop'
        from c:/ruby/lib/ruby/1.8/open-uri.rb:162:in `catch'
        from c:/ruby/lib/ruby/1.8/open-uri.rb:162:in `open_loop'
        from c:/ruby/lib/ruby/1.8/open-uri.rb:132:in `open_uri'
        from c:/ruby/lib/ruby/1.8/open-uri.rb:519:in `open'
        from c:/ruby/lib/ruby/1.8/open-uri.rb:30:in `open'
        from openmyurl.rb:4


source code openurl.rb is like-----


require 'open-uri'
require 'pp'

open('http://www.aflatune.com/') do |f|
  # hash with meta information
  pp  f.meta

  #
  pp "Content-Type: " + f.content_type
  pp "last modified" + f.last_modified.to_s

  no = 1
  # print the first fifty lines
  f.each do |line|
    print "#{no}: #{line}"
    no += 1
    break if no > 50
  end
end

can any one give me solution to how to solve this problem?
badboy (Guest)
on 2009-01-17 14:02
(Received via mailing list)
Vikas G. schrieb:
>         from c:/ruby/lib/ruby/1.8/open-uri.rb:162:in `open_loop'
> require 'pp'
>   # print the first fifty lines
>   f.each do |line|
>     print "#{no}: #{line}"
>     no += 1
>     break if no > 50
>   end
> end
>
> can any one give me solution to how to solve this problem?
looks like the aflatune-Webserver throws a 500 error if no User-Agent is
set.

this works for me:
   open('http://www.aflatune.com/', 'User-Agent'=>'ruby')
This topic is locked and can not be replied to.