urllib3

Yazılım ekran görüntüsü:
urllib3
Yazılım detaylar:
Versiyon: 1.5
Qayıt: 20 Feb 15
Geliştirici: Andrey Petrov
Lisans: Ücretsiz
Popülerlik: 2

Rating: nan/5 (Total Votes: 0)

urllib3 evreli bağlantı havuzu ve dosya sonrası desteği ile bir Python HTTP kütüphanesi.
Önemli:
& Nbsp; * Birden fazla istekleri için aynı soket bağlantısı yeniden kullanmak (HTTPConnectionPool)
& Nbsp; * Dosya gönderme (encode_multipart_formdata)
& Nbsp; * Dahili yönlendirme ve deneme (isteğe bağlı)
& Nbsp; * Konu güvenli
urllib ve urllib2 nesi var?
Yeniden kullanarak / havuzu ve dosya gönderme Bağlantı: Python standart kitaplığı eksik iki kritik özellikleri vardır. Bu kendinizi uygulamak korkunç zor değil, ama zaten sizin için işi yaptım bir modül kullanmak çok daha kolay.
Python, standart kütüphaneler urllib ve urllib2 birbirleri ile ilgisi var. Her sorunların farklı kapsamını çözme, bağımsız ve bağımsız olacak şekilde tasarlanmıştır ve urllib3 benzer bir damar takip edildi.
Neden bağlantıları yeniden istiyorsun?
Performans. Normalde bir urllib arama yaptığınızda, ayrı bir soket bağlantısı, her isteği ile oluşturulur. (HTTP 1.1 beri desteklenir), mevcut yuva yeniden kullanarak, istekleri sunucunun ucunda az kaynak sürebilir, ve aynı zamanda müşterinin sonunda hızlı bir tepki süresi sağlayacaktır. (15 bağlantılarını kullanır) düz urllib kullanarak daha (1 bağlantısı kullanır) HTTPConnectionPool kullanırken bazı basit kriterler (test / benchmark.py bakınız) ile, google.com dan 15 URL'leri indirirken yaklaşık iki kat hızlı.
Bu kütüphane için idealdir:
& Nbsp; * Bir API Talking
& Nbsp; * bir web sitesi sürünüyor
& Nbsp; *, dosyaları göndermek yeniden yönlendirme idare edememek ve yeniden deneniyor Herhangi durum yararlıdır. Nispeten daha hafiftir, bu yüzden herhangi bir şey için kullanılabilir!
Örnekler:
Daha güzel sözdizimi-vurgulanan örnekler için örnekler wiki gidin.
Ancak, uzun lafın kısası:
urllib3 ithalattan HTTPConnectionPool
API_URL = 'http://ajax.googleapis.com/ajax/services/search/web'
http_pool = HTTPConnectionPool.from_url (API_URL)
alanlar = {'v': '1.0', 'q': 'urllib3'}
r = http_pool.get_url (API_URL, alanlar)
Baskı r.status, r.data

Bu sürümde Yeni nedir:

  • eklendi urllib3.add_stderr_logger () hızla için urllib3 içinde STDERR hata ayıklama günlüğünü etkinleştirme.

  • Ayrıştırma urllib3.util.parse_url (url) kullanılabilir (auth, yolu, sorguda, fragman dahil)
  • Yerli tam URL.
  • durum kodu 303 ise Dahili yönlendirme yöntemini geçecektir 'GET' için (Sayı # 11)
  • urllib3.PoolManager istek uri göndermeden önce düzeni ve ana soyarak. (Sayı # 8)
  • Content-Type üstbilgisi göre otomatik çözme, başarısız olduğunda Yeni urllib3.exceptions.DecodeError istisna.

  • Havuz tükenmesi ve sızıntı bağlantıları (Sayı # 76) ile
  • Sabit hata. Havuz tahliye kapanış açık bağlantı eklendi. Eklendi urllib3.PoolManager.clear ().
  • % 99 - & gt; % 100 birim test kapsama.

sürüm 1.4 yeni nedir:.

  • Küçük AppEngine ilgili düzeltmeler
  • ) (uuid.uuid4 için mimetools.choose_boundary gelen geçildi.
  • Geliştirilmiş url ayrıştırma. (Sayı # 73)
  • IPv6 url desteği. (Sayı # 72)

sürüm 1.3 yeni nedir:.

  • kaldırıldı öncesi 1.0 kalktı API
  • urllib3.util altmodülün içine Refactored yardımcıları.
  • Sabit çok parçalı kodlama listesi-of-küpe birden değerleri ile anahtarları için desteklemek. (Sayı # 48)
  • Python 3. düzgün birleştirilmiş almıyor yanıt Sabit birden Set-Cookie başlıkları (Sayı # 53)
  • Py27 ile AppEngine desteği. (Sayı # 61)

  • 3 dizeleri bayt vs Python ile ilgili
  • Küçük encode_multipart_formdata giderir.

sürüm 1.2.2 yeni nedir:

  • test gereksinimlerini nakliye değil Sabit paketleme hata. txt. (Sayı # 47)

sürüm 1.2.1 yeni nedir:

    ile ilgili başka bir hata düzeltildi ssl modülü
  • değilken Mevcut. (Sayı # 41)
  • Yer ayrıştırma hataları artık ValueError devralan urllib3.exceptions.LocationParseError yükseltmek.

sürüm 1.2 yeni nedir:

  • (3.2.2 üzerinde test) Eklendi Python 3 desteği
  • Bırakılan Python 2.5 desteği (2.6.7 üzerinde test, 2.7.2)
  • bunu destekleyecek platformlar için yerine select.select kullanın select.poll.
  • daha agresif bağlantı kazanımına yönelik yerine Queue.Queue kullanın Queue.LifoQueue. ConnectionPool.QueueCls geçersiz yapılandırılabilir.

  • Ssl modülü mevcut değildir
  • Sabit ImportError yükleme sırasında. (Sayı # 41)
  • Sabit poolmanager (HTTP gibi - & gt; HTTPS) şemaları arasında yönlendirir düzgün tamamladıktan değil. (V1.1 Sayı # 10 tarafından ortaya çıkarılan Sayı # 28)
  • Taşınmış dummyserver webob + eventlet yerine kasırga kullanmak için. Kaldırılan gereksiz desteklenmeyen dummyserver test backend'e. Eklenen soket-seviye testleri.
  • Daha testler. Başarı Unlocked:.% 99 Kapsam

nedir sürüm 1.1 Yeni:

kendi kök ad modülüne dummyserver Refactored

  • (test için kullanılan ).
  • Py32 en ssl_match_hostname içinde vendoring tarafından VerifiedHTTPSConnection eklendi ana bilgisayar adı doğrulama. (Sayı # 25)

  • Poolmanager kullanırken
  • Sabit çapraz konak HTTP yönlendirir. (Sayı # 10)

  • Urlopen aracılığıyla ayarlandığında
  • Sabit decode_content göz ardı ediliyor. (Sayı # 27)
  • Sabit zaman aşımı ile ilgili hatalar. (Sorunlar # 17 # 23)

nedir sürüm 1.0.2 Yeni:

  • VerifiedHTTPSConnection Sabit yazım hatası olan bir sadece mevcut olur el nesnesini kullanarak eğer hata. (Teşekkürler pyos)
  • Daha RecentlyUsedContainer (ve dolayısıyla poolmanager) daha evreli bir muteks erişim günlüğü sararak. (Teşekkürlerchrister)
  • Daha RecentlyUsedContainer fazla dict benzeri testleri ile, (düzeltilmiş __delitem__ ve __getitem__ davranış). Çekirdek urllib3 kodu etkilememelidir.

nedir sürüm 1.0.1 Yeni:

  • Aynı bağlantı iade alacağı bir hata düzeltildi havuza kez, yabancı & quot neden; HttpConnectionPool tam & quot olduğu; uyarıları oturum açın.

Gereksinimler :

  • Python

Geliştirici Diğer yazılım Andrey Petrov

urllib3
urllib3

12 May 15

Yorumlar urllib3

Yorum Bulunamadı
Yorum eklemek
Görüntülerde açın!