OpenURI::HTTPError: 403 ถูกห้าม

ฉันใช้ปลั๊กอิน wikipedia-api เพื่อรับหน้าเนื้อหาจากวิกิพีเดีย บางวันฉันได้รับข้อผิดพลาดนี้เมื่อฉันพยายามรับเนื้อหา:

  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'

นั่นคืออะไร?

ฉันจะทำอย่างไร?

ขอบคุณ


person Luca Romagnoli    schedule 21.02.2010    source แหล่งที่มา


คำตอบ (2)


ฉันแก้ไขการเปลี่ยนแปลงแล้ว

Hpricot.XML(open(url))

in

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

ในไฟล์ mediawiki.rb

person Luca Romagnoli    schedule 22.02.2010

ใช่มันใช้งานได้

เช่นเดียวกับปัญหาต้องห้ามของ Nokogiri 403

doc = Nokogiri::HTML(open(site, 'User-Agent' => 'ruby'))

person user439800    schedule 04.09.2010