Python: Urllib.urlopen nonnumeric port -
निम्न कोड के लिए
theurl = "https: //% s:% s @ Members.dyndns.org / nic / update? Hostname =% s & amp; myip =% s & amp; वाइल्डकार्ड = NOCHG और एमएक्स = NOCHG और backmx = NOCHG "% (उपयोगकर्ता नाम, पासवर्ड, होस्टनाम, थीप) conn = urlopen (theurl) # यूआरएल प्रिंट (conn.read ()) के लिए अनुरोध भेजें # पढ़ें प्रतिक्रिया conn.close () # कनेक्शन बंद करें
मुझे निम्न त्रुटि मिलती है
फ़ाइल "c: \ Python31 \ lib \ http \ client.py", पंक्ति 667, _set_hostport में अमान्यURL बढ़ाएं ("गैर-संख्यात्मक पोर्ट: '% s'"% होस्ट [i + 1:])
< / Pre>कोई भी विचार ???
आपको पासवर्ड को url-encode करने की आवश्यकता है आपको एक त्रुटि दिखाई देगी जैसे कि '/' को पासवर्ड में शामिल किया जाता है।
यहां एक स्थानीय उदाहरण (वास्तविक मूल्य redacted) है:
& gt; & gt; & gt; सलामी बल्लेबाज & lt; urllib.FancyURLopener उदाहरण 0xb6f0e2ac & gt; & Gt; & gt; & gt; Opener.open ('http: // admin: somepass@example.com') & lt; addinfourl पर 3068618924L जिसका fp = & lt; socket._fileobject ऑब्जेक्ट 0xb6e7596c & gt; & gt; & Gt; & gt; & gt; Opener.open ('http: // व्यवस्थापक: somepass/a@example.com') *** अमान्य URL: नॉन-एनमेरिक पोर्ट: 'कुछपास'
पासवर्ड को एन्कोड करें:
& gt; & gt; & gt; Opener.open ('http: // व्यवस्थापक: somepass%2Fa@example.com')
आप urllib.quote ('somepass / a', safe = ' ')
एन्कोडिंग करने के लिए।
Comments
Post a Comment