[python] HTTP Autorizace + metoda post

Calis.martin na seznam.cz Calis.martin na seznam.cz
Čtvrtek Duben 17 12:29:22 CEST 2008


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 <leos.pol na firma.seznam.cz>
> 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
> 
> Calis.martin na seznam.cz 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
> > Python na py.cz
> > http://www.py.cz/mailman/listinfo/python
> >
> >   
> _______________________________________________
> Python mailing list
> Python na py.cz
> 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č. 


Další informace o konferenci Python