2010-02-21 123 views
5

我使用wikipedia-api插件从维基百科获取内容的页面。 从一些日子里,我收到此错误,当我试图让内容:OpenURI :: HTTPError:403禁止

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' 

那是什么?

我该怎么办?

感谢

回答

6

我在

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

解决不断变化的

Hpricot.XML(open(url)) 

在mediawiki.rb文件

+2

没有任何理由为什么这个工程? – thekingoftruth

3

是它的工作原理。

同为引入nokogiri 403禁止问题

DOC =引入nokogiri :: HTML(开放(网站, '用户代理'=> '红宝石'))