2010-09-15 2 views

risposta

7

È un limite noto di urllib2 (e urllib). IMHO il miglior tentativo finora per risolverlo e renderlo corretto è Garry Bodsworth coda_network per Python 2.6 o 2.7 - sostituzione, versioni con patch di urllib2 (e alcuni altri moduli) per supportare keep-alive (e un gruppo di altri più piccoli ma abbastanza correzioni di benvenuto).

+0

Alex, infine una risposta diretta su questo ('è' un limite noto '), La domanda rimane però, perché URLLib2 è scritto in questo modo? – sbartell

+1

@sbartell, perché nessuno ha ritenuto che il problema fosse abbastanza importante da inviare una patch al codice Python e averlo accettato - non l'ho fatto, né l'ho fatto, e così via per milioni di persone che potrebbero e senza dubbio lo farebbero ** se ** sentivano che il problema era importante (presumendo che fossero cittadini decenti della comunità open source, ovviamente, ma, ehi, non siamo tutti?). Penso che Gary abbia preso l'approccio giusto rilasciando una soluzione di terze parti in modo che si possa accumulare un sacco di esperienze "sul campo" reali in una varietà di usi prima che le cose siano "congelate" nella libreria standard. –

3

È inoltre possibile controllare httplib2, che supporta connessioni permanenti. Non proprio come urllib2 (nel senso che fa solo http e non "alcun tipo di URL"), ma più facile di httplib (e imho anche più facile di urllib2 se vuoi davvero fare http).

+0

httplib li supporta, usiamo di nuovo lo stesso oggetto httpconnection. – sbartell

+0

Mi disturba solo perché urllib2 supporta questo. – sbartell