2012-02-09 7 views
6

Sto utilizzando urllib2 per interagire con un server web. Per il problema specifico che devo risolvere, ho bisogno di tunnelare il traffico attraverso un proxy. Sono riuscito a farlo con un urllib2 'ProxyHandler'.Entrambi utilizzano cookie e un proxy in Python con urllib2

Devo anche accettare e inviare cookie. Sono riuscito a farlo con un urllib2 'cookielib.LWPCookieJar()'.

Il problema è che mentre lavorano individualmente, non funzionano "insieme". L'ultimo dispositivo di apertura che aggiungo con "urllib2.install_opener (opener)" è quello che funzionerà.

È possibile avere due "dispositivi di apertura" attivi? O un altro modo per risolvere questo problema?

risposta

10

Unire gestore di proxy e il processore biscotto in una sola apertura:

cj = cookielib.CookieJar() 
opener = build_opener(ProxyHandler({'http': 'ip:port'}), HTTPCookieProcessor(cj)) 
+0

Funziona, grande! – Erik