urllib3

البرمجيات قطة:
urllib3
تفاصيل البرنامج:
الإصدار: 1.5
تاريخ إيداع: 20 Feb 15
المطور: Andrey Petrov
ترخيص: حرر
شعبية: 44

Rating: 3.0/5 (Total Votes: 1)

وurllib3 هي مكتبة بيثون HTTP مع تجمع الاتصالات ذات ألوان ودعم مشاركة الملفات.
يسلط الضوء على:
على & nbsp؛ * إعادة استخدام نفس اتصال مأخذ توصيل طلبات متعددة (HTTPConnectionPool)
ونبسب؛ * نشر الملف (encode_multipart_formdata)
ونبسب؛ * المدمج في إعادة توجيه وإعادة المحاولة (اختياري)
ونبسب؛ * آمنة الموضوع
ما هو الخطأ مع urllib وurllib2؟
هناك نوعان من الميزات الهامة في عداد المفقودين من المكتبة القياسية بيثون: اتصال إعادة استخدام / تجميع وملف نشر. ليس من الصعب بشكل رهيب لتنفيذ هذه نفسك، ولكن من الأسهل بكثير استخدام وحدة نمطية التي لم بالفعل بهذا العمل نيابة عنك.
المكتبات القياسية بيثون urllib وurllib2 لا علاقة مع بعضها البعض. وهي مصممة لتكون مستقلة وقائمة بذاتها، كل حل نطاق مختلف من المشاكل، وurllib3 يتبع في سياق مماثل.
لماذا لا أريد أن إعادة استخدام الاتصالات؟
الأداء. عندما تفعل عادة مكالمة urllib، يتم إنشاء اتصال مأخذ توصيل منفصل مع كل طلب. عن طريق إعادة استخدام المقابس الموجودة (بدعم منذ HTTP 1.1)، فإن طلبات يستغرق فترة تصل موارد أقل على نهاية للملقم، وأيضا توفير زمن استجابة أسرع في نهاية العميل. مع بعض المعايير البسيطة (انظر اختبار / benchmark.py)، وتحميل 15 عناوين المواقع من google.com هو حول أسرع مرتين عند استخدام HTTPConnectionPool (الذي يستخدم اتصال 1) من استخدام urllib عادي (الذي يستخدم 15 اتصالات).
هذه المكتبة هي مثالية ل:
ونبسب؛ * التحدث إلى API
ونبسب؛ * الزحف موقع على شبكة الانترنت
على & nbsp؛ * أي الحالة التي يكون فيها أن تكون قادرة على الرد على الملفات، والتعامل مع إعادة توجيه، وإعادة المحاولة مفيد. انها خفيفة الوزن نسبيا، لذلك يمكن استخدامها في أي شيء!
الأمثلة على ذلك:
الذهاب إلى الويكي أمثلة لأبرز الأمثلة-تركيب أكثر لطيفة.
ولكن، قصة قصيرة طويلة:
من استيراد urllib3 HTTPConnectionPool
API_URL = 'http://ajax.googleapis.com/ajax/services/search/web "
http_pool = HTTPConnectionPool.from_url (API_URL)
الحقول = {'الخامس': '1.0'، 'س': 'urllib3'}
ص = http_pool.get_url (API_URL والحقول)
r.status الطباعة، r.data

ما هو الجديد في هذا الإصدار:

urllib3.add_stderr_logger المضافة () لتمكين بسرعة STDERR تسجيل التصحيح في urllib3.
الأم إعراب URL الكامل (بما في ذلك المصادقة، مسار، الاستعلام، جزء) المتاحة في urllib3.util.parse_url (رابط).
المدمج في إعادة توجيه ستتحول طريقة إلى '' أي إذا رمز الحالة 303. (العدد رقم 11)
urllib3.PoolManager يجرد مخطط والمضيف قبل إرسال الطلب أوري. (العدد رقم 8)
استثناء urllib3.exceptions.DecodeError جديد لحين فك التلقائي، استنادا إلى رأس Content-Type، لكنه يفشل.
علة ثابتة مع نضوب حوض سباحة واتصالات تسرب (العدد رقم 76). وأضاف اتصال صريح يغلق على بركة الإخلاء. واضاف urllib3.PoolManager.clear ().
99٪ - & GT. 100٪ تغطية اختبار وحدة.

ما هو الجديد في الإصدار 1.4:

طفيفة إصلاحات ذات الصلة لمحرك تطبيقات.
تحول من mimetools.choose_boundary إلى uuid.uuid4 ().
تحسين إعراب رابط. (العدد رقم 73)
الإصدار IPv6 دعم رابط. (العدد رقم 72)

ما هو الجديد في الإصدار 1.3:

إزالة ما قبل 1.0 API إهمال.
المساعدين ريفاكتوريد إلى حدة ثانويه urllib3.util.
ثابت الترميز متعدد الأجزاء لدعم قائمة من بين الصفوف لمفاتيح مع قيم متعددة. (العدد رقم 48)
ثابتة متعددة الرؤوس تعيين ملف تعريف الارتباط في استجابة لا تحصل على دمج بشكل صحيح في بيثون 3. (العدد رقم 53)
دعم لمحرك تطبيقات مع Py27. (العدد رقم 61)
إصلاحات encode_multipart_formdata الطفيفة المتعلقة بيثون 3 سلاسل مقابل بايت.

ما هو الجديد في الإصدار 1.2.2:

علة ثابتة التعبئة والتغليف ليست الشحن اختبار-requirements.txt. (العدد رقم 47)

ما هو الجديد في الإصدار 1.2.1:

علة ثابتة أخرى تتعلق عندما وحدة خدمة تصميم المواقع ليست متاحة. (العدد رقم 41)
موقع أخطاء إعراب الآن رفع urllib3.exceptions.LocationParseError الذي يرث من ValueError.

ما هو جديد في الإصدار 1.2:

وأضاف بيثون 3 دعم (اختبار على 3.2.2)
انخفض بيثون 2.5 دعم (اختبار على 2.6.7، 2.7.2)
استخدام select.poll بدلا من select.select لمنصات التي تدعمها.
استخدام Queue.LifoQueue بدلا من Queue.Queue لإعادة استخدام اتصال أكثر عدوانية. شكلي عن طريق تجاوز ConnectionPool.QueueCls.
ImportError الثابتة أثناء تثبيت عندما وحدة خدمة تصميم المواقع ليست متاحة. (العدد رقم 41)
PoolManager الثابتة الموجهات بين مخططات (مثل HTTP - & GT، HTTPS) عدم استكمال صحيح. (العدد رقم 28، التي كشف عنها العدد رقم 10 في V1.1)
dummyserver استدار لاستخدام اعصار بدلا من webob + eventlet. إزالة دخيلة غير معتمد الخلفيات اختبار dummyserver. وأضاف اختبارات على مستوى المقبس.
لمزيد من الفحوص. الإنجاز مقفلة: تغطية 99٪.

ما هو جديد في الإصدار 1.1:

بتعميل الترميز dummyserver إلى وحدة مساحة الاسم الجذر الخاصة (التي تستخدم لاختبار).
التحقق المضيف واضاف لVerifiedHTTPSConnection التي كتبها vendoring في ssl_match_hostname Py32 ل. (العدد رقم 25)
الثابتة HTTP عبر المضيفة الموجهات عند استخدام PoolManager. (العدد رقم 10)
decode_content ثابتة يجري تجاهلها عندما وضعت من خلال urlopen. (العدد رقم 27)
البق المتعلقة مهلة محددة. (قضايا # 17، # 23)

ما هو الجديد في الإصدار 1.0.2:

الخطأ المطبعي الثابتة في VerifiedHTTPSConnection التي من شأنها أن الحاضر فقط بوصفها علة إذا كنت تستخدم الكائن يدويا. (شكرا pyos)
RecentlyUsedContainer جعل (وبالتالي PoolManager) أكثر موضوع آمنة عن طريق لف سجل الوصول في كائن المزامنة. (شكراchrister)
جعل RecentlyUsedContainer المزيد من الاختبارات (__delitem__ تصحيح والسلوك __getitem__)، مع مثل ديكت. يجب أن لا يؤثر كود urllib3 الأساسية.

ما هو الجديد في الإصدار 1.0.1:

إصلاح الخلل فيها سوف تحصل عاد نفس اتصال في بركة مرتين، مما تسبب في دخيلة ومثل، HttpConnectionPool هو كامل ومثل. تسجيل التحذيرات.

المتطلبات:

بيثون

البرامج الأخرى من المطور Andrey Petrov

urllib3
urllib3

12 May 15

تعليقات ل urllib3

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!