2010-09-15 15 views
7

urllib2 स्रोत स्कैन करने के बाद, ऐसा लगता है कि कनेक्शन स्वचालित रूप से बंद हो जाते हैं भले ही आप जीवित रहें।URLLib2 द्वारा समर्थित लगातार कनेक्शन क्यों नहीं हैं?

ऐसा क्यों है?

जैसा कि अब है, मैं अपने लगातार कनेक्शन के लिए बस httplib का उपयोग करता हूं ... लेकिन आश्चर्य है कि यह urllib2 में अक्षम क्यों है (या शायद अस्पष्ट)।

उत्तर

7

यह urllib2 (और urllib भी) की एक प्रसिद्ध सीमा है। आईएमएचओ इसे ठीक करने के लिए अब तक का सबसे अच्छा प्रयास है और इसे सही बनाने के लिए गैरी बोड्सवर्थ के coda_network पाइथन 2.6 या 2.7 - प्रतिस्थापन, urllib2 (और कुछ अन्य मॉड्यूल) के पैच किए गए संस्करणों को रखने के लिए (और अन्य छोटे लेकिन का समूह काफी स्वागत सुधार)।

+0

एलेक्स, अंत में इस पर एक सीधा जवाब ('इसकी' एक प्रसिद्ध सीमा ') है, सवाल यह है कि, URLLib2 इस तरह क्यों लिखा गया है? – sbartell

+1

@ एसबर्टेल, क्योंकि किसी को भी यह महसूस नहीं हुआ कि पाइथन कोड में पैच जमा करने के लिए समस्या काफी महत्वपूर्ण थी और इसे स्वीकार कर लिया गया - मैंने नहीं किया, न ही आप और लाखों लोगों के लिए ऐसा किया जो कोई शक नहीं कर सकता था ** अगर ** उन्होंने महसूस किया कि समस्या महत्वपूर्ण थी (मान लीजिए कि वे खुले स्रोत समुदाय के सभ्य नागरिक हैं, लेकिन, हे, हम सभी नहीं हैं? -)। मुझे लगता है कि गैरी ने तीसरे पक्ष के समाधान को जारी करके सही दृष्टिकोण लिया है ताकि विभिन्न पुस्तकालयों में चीजें "जमे हुए" होने से पहले विभिन्न प्रकार के वास्तविक उपयोग "क्षेत्र" अनुभव को संचित किया जा सके। –

3

आप httplib2 भी देख सकते हैं, जो लगातार कनेक्शन का समर्थन करता है। Urllib2 के समान नहीं है (इस अर्थ में कि यह केवल http करता है और "किसी भी तरह का यूआरएल" नहीं), लेकिन fansplib से आसान है (और यदि आप वास्तव में http करना चाहते हैं तो imllib2 से भी आसान है)।

+0

प्रेजेंटप्लिब उनका समर्थन करता है, हम फिर से उसी httpconnection ऑब्जेक्ट का उपयोग करते हैं। – sbartell

+0

यह सिर्फ मुझे परेशान करता है कि urllib2 इसका समर्थन क्यों करता है। – sbartell