2010-02-21 26 views
5

ich benutze wikipedia-api-plugin für get contents pages aus wikipedia. Von einigen Tagen erhalte ich diesen Fehler, wenn ich versuche, den Inhalt zu bekommen:OpenURI :: HTTPError: 403 Forbidden

page = Wikipedia.find_by_titles('Foo') 
OpenURI::HTTPError: 403 Forbidden 
    from /usr/lib/ruby/1.8/open-uri.rb:277:in `open_http' 
    from /usr/lib/ruby/1.8/open-uri.rb:616:in `buffer_open' 
    from /usr/lib/ruby/1.8/open-uri.rb:164:in `open_loop' 
    from /usr/lib/ruby/1.8/open-uri.rb:162:in `catch' 
    from /usr/lib/ruby/1.8/open-uri.rb:162:in `open_loop' 
    from /usr/lib/ruby/1.8/open-uri.rb:132:in `open_uri' 
    from /usr/lib/ruby/1.8/open-uri.rb:518:in `open' 
    from /usr/lib/ruby/1.8/open-uri.rb:30:in `open' 
    from /home/luca/Programming/nerto_5/vendor/plugins/wikipedia-api/lib/mediawiki.rb:139:in `get_xml' 

Was ist das?

Wie kann ich tun?

dank

Antwort

6

I gelöst haben Ändern

Hpricot.XML(open(url)) 

in

Hpricot.XML(open(url, 'User-Agent' => 'ruby')) 

In der mediawiki.rb Datei

+2

Gibt es einen Grund, warum das funktioniert? – thekingoftruth

3

Ja es funktioniert.

Das gleiche gilt für Nokogiri 403 Forbidden Probleme

doc = Nokogiri :: HTML (open (Website, 'User-Agent' => 'Rubin'))

Verwandte Themen