मैं http://ruby.bastardsbook.com/ पर प्रदान की जाती रूबी ट्यूटोरियल के माध्यम से जा रहा था और मैं निम्नलिखित कोड का सामना करना पड़ा के लिए:`open_http ': 403 निषिद्ध (OpenURI :: HTTPError) स्ट्रिंग" Steve_Jobs "के लिए नहीं बल्कि किसी अन्य स्ट्रिंग
require "open-uri"
remote_base_url = "http://en.wikipedia.org/wiki"
r1 = "Steve_Wozniak"
r2 = "Steve_Jobs"
f1 = "my_copy_of-" + r1 + ".html"
f2 = "my_copy_of-" + r2 + ".html"
# read the first url
remote_full_url = remote_base_url + "/" + r1
rpage = open(remote_full_url).read
# write the first file to disk
file = open(f1, "w")
file.write(rpage)
file.close
# read the first url
remote_full_url = remote_base_url + "/" + r2
rpage = open(remote_full_url).read
# write the second file to disk
file = open(f2, "w")
file.write(rpage)
file.close
# open a new file:
compiled_file = open("apple-guys.html", "w")
# reopen the first and second files again
k1 = open(f1, "r")
k2 = open(f2, "r")
compiled_file.write(k1.read)
compiled_file.write(k2.read)
k1.close
k2.close
compiled_file.close
कोड निम्न का पता लगाने के साथ विफल:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open-uri.rb:277:in `open_http': 403 Forbidden (OpenURI::HTTPError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open-uri.rb:616:in `buffer_open'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open-uri.rb:164:in `open_loop'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open-uri.rb:162:in `catch'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open-uri.rb:162:in `open_loop'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open-uri.rb:132:in `open_uri'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open-uri.rb:518:in `open'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open-uri.rb:30:in `open'
from /Users/arkidmitra/tweetfetch/samecode.rb:11
मेरे समस्या यह है कि कोड में विफल रहता है नहीं है, लेकिन कि जब भी मैं Steve_Jobs के अलावा और कुछ करने के लिए r2 बदलने के लिए, यह काम करता है। यहाँ क्या हो रहा है?
पर बाद में निर्दिष्ट किया जाता है एक प्रॉक्सी या कुछ और छानने यूआरएल हो सकता है कि मिल गया? क्या आपने उसी मशीन पर किसी अन्य चीज़ के माध्यम से 'खराब' यूआरएल को मारने का प्रयास किया है, उदा। लिंक्स ब्राउज़र? –
ऐसा कुछ भी नहीं। एक wget "http://en.wikipedia.org/wiki/Steve_Jobs" के साथ भी काम करता है। मैं आश्चर्यचकित हूँ। –
क्या आप उपयोगकर्ता-एजेंट को 'ओपन (remote_full_url, "उपयोगकर्ता-एजेंट" => "मोज़िला/5.0 (विंडोज एनटी 6.0; आरवी: 12.0) गीको/20100101 फ़ायरफ़ॉक्स/12.0 फायरपीएचपी/0.7.1") पर सेट करने का प्रयास कर सकते हैं। तुम्हारी तरफ? – vstm