Ahoj, tvuj server rika tohle: WWW-AuthenticateBasic realm="My Realm", takze but nastav napevno realm na "My Realm" nebo uplne nejlepe udelat prvne standardni dotaz, odchytit vyjimku HTTPError a z ni si dostat realm (vyjimka.headers['www-authenticate']) a pak provest HTTPBasicAuthHandler se spravnym realm. Mozna existuje jeste dalsi zpusob pomoci HTTPPasswordMgrWithDefaultRealm, ale s tim nemam zkusenosti.
Leo [EMAIL PROTECTED] wrote: > To mě prozměnu vypíše toto:"Traceback (most recent call last): > File "I:\Programy v Pythonu\MOJE\Ukoly\pripojeni.py", line 23, in <module> > urllib2.urlopen(req) > File "C:\Python25\lib\urllib2.py", line 121, in urlopen > return _opener.open(url, data) > File "C:\Python25\lib\urllib2.py", line 380, in open > response = meth(req, response) > File "C:\Python25\lib\urllib2.py", line 491, in http_response > 'http', request, response, code, msg, hdrs) > File "C:\Python25\lib\urllib2.py", line 418, in error > return self._call_chain(*args) > File "C:\Python25\lib\urllib2.py", line 353, in _call_chain > result = func(*args) > File "C:\Python25\lib\urllib2.py", line 499, in http_error_default > raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) > urllib2.HTTPError: HTTP Error 401: Unauthorized" > > jedna se asi o chybu s "urllib2.urlopen(req)", nechal jsem si vypsat hodnotu > req:"<urllib2.Request instance at 0x00A3ADC8>" což ale asi nijak nepomuže... > > >> ------------ Původní zpráva ------------ >> Od: Leos Pol <[EMAIL PROTECTED]> >> Předmět: Re: [python] HTTP Autorizace + metoda post >> Datum: 17.4.2008 08:46:00 >> ---------------------------------------- >> Ahoj, >> >> chybka je v parametru uri, tam se ceka string nebo sekvence stringu. >> Oprava je: >> >> auth_handler.add_password(realm='PDQ Application', >> uri=req.get_full_url(), >> user='user', passwd='password') >> >> >> Leo >> >> [EMAIL PROTECTED] wrote: >> >>> Dobrý den, nedávno jsem psal o svém problému ohldedně autorizace... >>> Stále jsem na věc nepřišel. Napadlo mně udělat tohle: >>> >>> "import urllib2,urllib >>> >>> adresa = "http://www.cheatfella.com/authentifikace.php" >>> parametry = { >>> "print " : "Hello world"} >>> >>> params = urllib.urlencode(parametry) # Prekoduje parametry do tvaru >>> vhodneho >>> >> pro odeslani >> >>> req = urllib2.Request(adresa, params) # Vytvori request, coz je smichanina >>> >> adresy a parametru, pripadne i hlavicek >> >>> #~ spojeni = urllib2.urlopen(req) # Otevre >>> #~ spojeni.read() >>> #~ spojeni.close() >>> >>> >>> >>> >>> # Create an OpenerDirector with support for Basic HTTP Authentication... >>> auth_handler = urllib2.HTTPBasicAuthHandler() >>> auth_handler.add_password(realm='PDQ Application', >>> uri=req, >>> user='user', >>> passwd='password') >>> opener = urllib2.build_opener(auth_handler) >>> # ...and install it globally so it can be used with urlopen. >>> urllib2.install_opener(opener) >>> urllib2.urlopen(req)" >>> >>> což nefunguje a vypíše nasledující hlášku: " >>> Traceback (most recent call last): >>> File "I:\Programy v Pythonu\MOJE\Ukoly\pripojeni.py", line 22, in <module> >>> passwd='password') >>> File "C:\Python25\lib\urllib2.py", line 706, in add_password >>> [self.reduce_uri(u, default_port) for u in uri]) >>> TypeError: iteration over non-sequence" >>> >>> >>> Nevíte kde je chyba? >>> >>> ----------------------------- >>> Moto: Teorie je, když všechno víme, ale nic nefunguje. Praxe je, když >>> všechno >>> >> funguje, ale nikdo neví proč. My jsme spojili teorii s praxí - nic nefunguje >> a >> nikdo neví proč. >> >>> _______________________________________________ >>> Python mailing list >>> [email protected] >>> http://www.py.cz/mailman/listinfo/python >>> >>> >>> >> _______________________________________________ >> Python mailing list >> [email protected] >> http://www.py.cz/mailman/listinfo/python >> >> >> >> > > ----------------------------- > Moto: Teorie je, když všechno víme, ale nic nefunguje. Praxe je, když všechno > funguje, ale nikdo neví proč. My jsme spojili teorii s praxí - nic nefunguje > a nikdo neví proč. > _______________________________________________ > Python mailing list > [email protected] > http://www.py.cz/mailman/listinfo/python > > _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
