Ja bych si tipnul, ze se autorizujes vuci spatnemu serveru a to vuci www.py.cz zatimco by to melo byt oproti proxy. Co zkusit proxy_handler = urllib2.ProxyHandler({'http': 'http://username:[EMAIL PROTECTED]:8080/'}) protoze jak koukam na zdrojaky urllib2, tak to parsujou a tu autorizaci provedou primo v tyhle tride.
lachtan Petr Prikryl napsal(a): > Dík aspoň za potvrzení, že jsem na dobré stopě, ale... > > Martin Blazik > >>mozna by stalo za to, se na tu stranku prece jen podivat :) >>Je tam primo priklad na to co potrebujes. >>http://docs.python.org/lib/urllib2-examples.html >>Jinak ja pouzivam nasledujici kod, ale to je bez autentifikace. >> >>import urllib2 >> >>def download(proxy, url, postData = ''): >> proxyHandler = urllib2.ProxyHandler({'http': proxy}) >> opener = urllib2.build_opener(proxyHandler) >> if postData: >> f = opener.open(url, postData) >> else: >> f = opener.open(url) >> data = f.read() >> return data > > > ... tohle jsem právě zkoušel v následující podobě (skutečná > jména a hesla zaměněna): > > ============================================================= > import urllib2 > > proxy_handler = urllib2.ProxyHandler({'http': 'http://mujserver1:8080/'}) > proxy_auth_handler = urllib2.HTTPBasicAuthHandler() > proxy_auth_handler.add_password('DOMENA', 'mujserver2', 'jmeno', 'heslo') > > opener = urllib2.build_opener(proxy_handler, proxy_auth_handler) > f = opener.open('http://www.py.cz/') > s = f.read() > f.close() > > print s > ============================================================= > > Hlásí mi to tohle: > > C:\tmp>python tst4.py > Traceback (most recent call last): > File "tst4.py", line 8, in ? > f = opener.open('http://www.py.cz/') > File "C:\Python24\lib\urllib2.py", line 364, in open > response = meth(req, response) > File "C:\Python24\lib\urllib2.py", line 471, in http_response > response = self.parent.error( > File "C:\Python24\lib\urllib2.py", line 402, in error > return self._call_chain(*args) > File "C:\Python24\lib\urllib2.py", line 337, in _call_chain > result = func(*args) > File "C:\Python24\lib\urllib2.py", line 480, in http_error_default > raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) > urllib2.HTTPError: HTTP Error 407: Proxy Authentication Required ( The ISA > Serve > r requires authorization to fulfill the request. Access to the Web Proxy > service > is denied. ) > > Zjevně buď nestačí urllib2.HTTPBasicAuthHandler() nebo nějak špatně > zadávám parametry. Překládám si 'realm' správně jako doménu > (takovou tu windowsovskou)? > > proxy_auth_handler = urllib2.HTTPBasicAuthHandler() > proxy_auth_handler.add_password('realm', 'host', 'username', 'password') > > pepr > _______________________________________________ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python