[Python] Problema con proxy
Pietro Battiston
me a pietrobattiston.it
Sab 29 Set 2012 19:21:54 CEST
Grazie della dritta... io il realm lo conosco anche, ma dove dovrei
darglielo?!
In HTTPPasswordMgrWithDefaultRealm.add_password gliene posso dare uno,
ma da quello che ho capito
- serve solo a stabilire quali dati di autenticazione utilizzare a
seconda del realm ricevuto nell'errore 407 (e None significa "per tutti
i realm"), ed
- è il realm ricevuto che dovrebbe essere utilizzato poi per
l'autenticazione.
In sintesi, da quel che ho capito è _normale_ che nel corso
dell'autenticazione digest si riceva un 407. Non ho capito nulla?
grazie
Pietro
Il giorno sab, 29/09/2012 alle 19.08 +0200, Simone Federici ha scritto:
> dalla mia esperienza con i proxy... di solito basta un realm sbagliato
> per avere una 407
> prova a sniffare la risposta per capire che realm usare
>
>
> ciao
> S
>
>
> 2012/9/29 Pietro Battiston <me a pietrobattiston.it>
> Il giorno sab, 29/09/2012 alle 16.32 +0200, Marco Giusti ha
> scritto:
> > On Sat, Sep 29, 2012 at 12:21:36PM +0200, Pietro Battiston
> wrote:
> > > Il giorno sab, 29/09/2012 alle 02.19 +0200, Pietro
> Battiston ha scritto:
> > > > Sì, ho provato, non cambia niente.
> > > >
> > > > L'idea che mi sono fatto è che wget sia semplicemente
> incapace di
> > > > parsare un proxy del genere (e d'altronde non c'è altro
> modo per
> > > > darglielo). Non dispero invece del tutto in urllib2,
> semplicemente non
> > > > capisco cosa stia succedendo.
> >
> > senza sapere ne' leggere ne' scrivere, le seguenti opzioni
> non ti sono
> > di aiuto, magari solo per semplificare l'url del proxy?
> >
> > --proxy-user=UTENTE imposta il nome utente per il
> proxy a UTENTE.
> > --proxy-passwd=PASS imposta la password per il
> proxy a PASS.
> >
>
>
> Uh, molto carini questi parametri. In effetti non riuscendo a
> passare
> come argomento il proxy non avevo neanche immaginato di
> poterne passare
> i dati di autenticazione.
>
> Il fatto che anche in questo modo il proxy mi dia un errore
> 407 mi
> lascia sempre più sconsolato.
>
>
> > e magari una cosa del genere, sempre senza saper ne' leggere
> ne'
> > scrivere?
> >
> > #! /usr/bin/python
> >
> > import urllib2
> >
> > proxy_url = r'http://proxybiblio2.si.unimib.it:8080/'}
> > proxy = urllib2.ProxyHandler({'http': proxy_url})
> > auth = urllib2.ProxyDigestAuthHandler()
> > auth.add_password(realm, proxy_url, 'username',
> 'password')
> > opener = urllib2.build_opener(proxy, auth,
> urllib2.HTTPHandler)
> > urllib2.install_opener(opener)
> > conn = urllib2.urlopen('http://webofknowledge.com')
> > return_str = conn.read()
> >
>
>
>
> Questo è esattamente quello che provavo, e per l'appunto dopo
> l'errore
> 407 si arrende...
>
> In cambio ho scoperto qualcos'altro di interessante. A
> differenza della
> classe ProxyDigestAuthHandler, la ProxyBasicAuthHandler ha due
> metodi
> "http_error_auth_reqed" e "get_cnonce", che sembrano
> interessanti (e
> sono chiaramente totalmente privi di documentazione).
>
> Inoltre entrambe le classi hanno un metodo
> "http_error_407(req, fp,
> code, msg, hdrs)" la cui documentazione è proprio
> "Retry the request with authentication information, if
> available."
>
> Il mio problema è come usarli questi metodi. Ora ho capito¹
> come
> recuperare gli header della pagina di errore e provo un po' a
> giocarci
> alla cieca...
>
> ciao
>
> Pietro
>
> ¹
> http://stackoverflow.com/questions/6402051/getting-error-headers-with-urllib2
>
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
Maggiori informazioni sulla lista
Python