dalla mia esperienza con i proxy... di solito basta un realm sbagliato per avere una 407<div>prova a sniffare la risposta per capire che realm usare</div><div><br></div><div>ciao</div><div>S</div><div><br><br><div class="gmail_quote">

2012/9/29 Pietro Battiston <span dir="ltr"><<a href="mailto:me@pietrobattiston.it" target="_blank">me@pietrobattiston.it</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Il giorno sab, 29/09/2012 alle 16.32 +0200, Marco Giusti ha scritto:<br>
<div class="im">> On Sat, Sep 29, 2012 at 12:21:36PM +0200, Pietro Battiston wrote:<br>
> > Il giorno sab, 29/09/2012 alle 02.19 +0200, Pietro Battiston ha scritto:<br>
> > > Sė, ho provato, non cambia niente.<br>
> > ><br>
> > > L'idea che mi sono fatto č che wget sia semplicemente incapace di<br>
> > > parsare un proxy del genere (e d'altronde non c'č altro modo per<br>
> > > darglielo). Non dispero invece del tutto in urllib2, semplicemente non<br>
> > > capisco cosa stia succedendo.<br>
><br>
> senza sapere ne' leggere ne' scrivere, le seguenti opzioni non ti sono<br>
> di aiuto, magari solo per semplificare l'url del proxy?<br>
><br>
>        --proxy-user=UTENTE   imposta il nome utente per il proxy a UTENTE.<br>
>        --proxy-passwd=PASS   imposta la password per il proxy a PASS.<br>
><br>
<br>
</div>Uh, molto carini questi parametri. In effetti non riuscendo a passare<br>
come argomento il proxy non avevo neanche immaginato di poterne passare<br>
i dati di autenticazione.<br>
<br>
Il fatto che anche in questo modo il proxy mi dia un errore 407 mi<br>
lascia sempre pių sconsolato.<br>
<div class="im"><br>
<br>
> e magari una cosa del genere, sempre senza saper ne' leggere ne'<br>
> scrivere?<br>
><br>
>       #! /usr/bin/python<br>
><br>
>       import urllib2<br>
><br>
>       proxy_url = r'<a href="http://proxybiblio2.si.unimib.it:8080/" target="_blank">http://proxybiblio2.si.unimib.it:8080/</a>'}<br>
>       proxy = urllib2.ProxyHandler({'http': proxy_url})<br>
>       auth = urllib2.ProxyDigestAuthHandler()<br>
>       auth.add_password(realm, proxy_url, 'username', 'password')<br>
>       opener = urllib2.build_opener(proxy, auth, urllib2.HTTPHandler)<br>
>       urllib2.install_opener(opener)<br>
>       conn = urllib2.urlopen('<a href="http://webofknowledge.com" target="_blank">http://webofknowledge.com</a>')<br>
>       return_str = conn.read()<br>
><br>
<br>
<br>
</div>Questo č esattamente quello che provavo, e per l'appunto dopo l'errore<br>
407 si arrende...<br>
<br>
In cambio ho scoperto qualcos'altro di interessante. A differenza della<br>
classe ProxyDigestAuthHandler, la ProxyBasicAuthHandler ha due metodi<br>
"http_error_auth_reqed" e "get_cnonce", che sembrano interessanti (e<br>
sono chiaramente totalmente privi di documentazione).<br>
<br>
Inoltre entrambe le classi hanno un metodo "http_error_407(req, fp,<br>
code, msg, hdrs)" la cui documentazione č proprio<br>
"Retry the request with authentication information, if available."<br>
<br>
Il mio problema č come usarli questi metodi. Ora ho capitoš come<br>
recuperare gli header della pagina di errore e provo un po' a giocarci<br>
alla cieca...<br>
<br>
ciao<br>
<br>
Pietro<br>
<br>
š<br>
<a href="http://stackoverflow.com/questions/6402051/getting-error-headers-with-urllib2" target="_blank">http://stackoverflow.com/questions/6402051/getting-error-headers-with-urllib2</a><br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
</div></div></blockquote></div><br></div>