[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