Pergunta

Estou usando o plugin Wikipedia-Api para obter páginas do conteúdo da Wikipedia. De alguns dias, recebo esse erro quando tento obter o conteúdo:

  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'

O que é aquilo?

Como eu posso fazer?

obrigado

Foi útil?

Solução

Eu resolvi mudando

Hpricot.XML(open(url))

dentro

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

No arquivo mediawiki.rb

Outras dicas

Sim, funciona.

O mesmo para os problemas proibidos de Nokogiri 403

doc = nokogiri :: html (aberto (site, 'user-agent' => 'ruby'))

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top