urllib3

Software screenshot:
urllib3
Rincian Software:
Versi: 1.5
Tanggal Upload: 20 Feb 15
Pengembang: Andrey Petrov
Lisensi: Gratis
Popularitas: 2

Rating: nan/5 (Total Votes: 0)

urllib3 adalah library Python HTTP dengan benang-aman koneksi penyatuan dan dukungan pasca berkas.
Highlights:
& Nbsp; * Re-menggunakan koneksi socket yang sama untuk beberapa permintaan (HTTPConnectionPool)
& Nbsp; * Berkas postingan (encode_multipart_formdata)
& Nbsp; * Built-in pengalihan dan mencoba lagi (opsional)
& Nbsp; * Thread-aman
Apa yang salah dengan urllib dan urllib2?
Ada dua fitur penting yang hilang dari perpustakaan standar Python: Koneksi menggunakan kembali / penyatuan dan berkas posting. Ini tidak terlalu sulit untuk menerapkan ini sendiri, tapi itu jauh lebih mudah untuk menggunakan modul yang sudah melakukan pekerjaan untuk Anda.
Python perpustakaan standar urllib dan urllib2 tidak ada hubungannya satu sama lain. Mereka dirancang untuk menjadi independen dan mandiri, masing-masing memecahkan lingkup yang berbeda dari masalah, dan urllib3 berikut dalam nada yang sama.
Mengapa saya ingin menggunakan kembali koneksi?
Kinerja. Bila biasanya Anda melakukan panggilan urllib, koneksi soket terpisah dibuat dengan setiap permintaan. Dengan menggunakan kembali soket yang ada (didukung sejak HTTP 1.1), permintaan akan mengambil sumber daya kurang pada akhir server, dan juga menyediakan waktu respon yang lebih cepat pada akhir klien. Dengan beberapa benchmark sederhana (lihat test / benchmark.py), download 15 URL dari google.com adalah sekitar dua kali lebih cepat saat menggunakan HTTPConnectionPool (yang menggunakan 1 koneksi) daripada menggunakan urllib biasa (yang menggunakan 15 koneksi).
Perpustakaan ini sangat cocok untuk:
& Nbsp; * Berbicara dengan API
& Nbsp; * Crawling website
& Nbsp; * Setiap situasi di mana bisa mengirim file, menangani redirection, dan mencoba kembali berguna. Ini relatif ringan, sehingga dapat digunakan untuk apa saja!
Contoh:
Pergi ke Contoh wiki untuk contoh sintaks-disorot lebih bagus.
Tapi, cerita panjang pendek:
dari impor urllib3 HTTPConnectionPool
API_URL = 'http://ajax.googleapis.com/ajax/services/search/web'
http_pool = HTTPConnectionPool.from_url (API_URL)
bidang = {'v': '1.0', 'q': 'urllib3'}
r = http_pool.get_url (API_URL, bidang)
print r.status, r.data

Apa yang baru dalam rilis ini:

  • Ditambahkan urllib3.add_stderr_logger () untuk cepat memungkinkan stderr debug logging di urllib3.
  • URL penuh asli parsing (termasuk auth, jalan, query, fragmen) yang tersedia di urllib3.util.parse_url (url).
  • Built-in redirect akan beralih metode untuk 'GET' jika kode status 303. (Edisi # 11)
  • urllib3.PoolManager strip skema dan tuan rumah sebelum mengirim uri permintaan. (Edisi # 8)
  • New urllib3.exceptions.DecodeError pengecualian untuk saat decoding otomatis, berdasarkan pada Content-Type header, gagal.
  • Fixed bug dengan penipisan kolam renang dan koneksi bocor (Edisi # 76). Ditambahkan koneksi eksplisit menutup di kolam renang penggusuran. Ditambahkan urllib3.PoolManager.clear ().
  • 99% - & gt; Cakupan unit test 100%.

Apa yang baru di versi 1.4:.

  • kecil perbaikan-AppEngine terkait
  • Switched dari mimetools.choose_boundary untuk uuid.uuid4 ().
  • Peningkatan parsing url. (Edisi # 73)
  • dukungan url IPv6. (Edisi # 72)

Apa yang baru di versi 1.3:.

  • Dihapus pre-1.0 usang API
  • pembantu Refactored menjadi submodule urllib3.util.
  • Tetap encoding multi untuk mendukung daftar-of-tupel untuk kunci dengan beberapa nilai. (Edisi # 48)
  • Tetap beberapa header Set-Cookie respon tidak mendapatkan bergabung dengan benar di Python 3. (Edisi # 53)
  • dukungan AppEngine dengan Py27. (Edisi # 61)
  • perbaikan encode_multipart_formdata kecil yang berhubungan dengan Python 3 senar vs byte.

Apa yang baru dalam versi 1.2.2:

  • bug kemasan tetap tidak pengiriman uji-persyaratan. txt. (Edisi # 47)

Apa yang baru dalam versi 1.2.1:

  • Fixed bug lain yang terkait dengan ketika modul ssl tidak tersedia. (Edisi # 41)
  • Lokasi kesalahan parsing sekarang meningkatkan urllib3.exceptions.LocationParseError yang mewarisi dari ValueError.

Apa yang baru dalam versi 1.2:

  • 3 Ditambahkan dukungan Python (diuji pada 3.2.2)
  • Menjatuhkan Python 2.5 support (diuji pada 2.6.7, 2.7.2)
  • Gunakan select.poll bukan select.select untuk platform yang mendukungnya
  • .
  • Gunakan Queue.LifoQueue bukan Queue.Queue untuk lebih agresif koneksi menggunakan kembali. Dikonfigurasi dengan menimpa ConnectionPool.QueueCls.
  • Tetap ImportError selama instalasi ketika modul ssl tidak tersedia. (Edisi # 41)
  • Tetap PoolManager pengalihan antara skema (seperti HTTP - & gt; HTTPS) tidak menyelesaikan dengan baik. (Edisi # 28, ditemukan oleh Issue # 10 di v1.1)
  • dummyserver Porting untuk menggunakan tornado bukan webob + eventlet. Dihapus asing yang tidak didukung backends pengujian dummyserver. Tes Ditambahkan socket tingkat
  • .
  • Lebih tes. Prestasi Unlocked:. 99% Cakupan

Apa yang baru di versi 1.1:

  • Refactored dummyserver ke modul namespace akar sendiri (digunakan untuk pengujian ).
  • Ditambahkan hostname verifikasi VerifiedHTTPSConnection dengan vendoring di ssl_match_hostname Py32 itu. (Edisi # 25)
  • Tetap lintas host HTTP pengalihan saat menggunakan PoolManager. (Edisi # 10)
  • decode_content tetap diabaikan ketika diatur melalui urlopen. (Edisi # 27)
  • bug-timeout terkait Tetap. (Masalah # 17, # 23)

Apa yang baru di versi 1.0.2:

  • ketik Tetap di VerifiedHTTPSConnection yang hanya akan hadir sebagai bug jika Anda menggunakan objek secara manual. (Thanks pyos)
  • Terbuat RecentlyUsedContainer (dan akibatnya PoolManager) lebih benang-aman dengan membungkus log akses di mutex. (Thankschrister)
  • Terbuat RecentlyUsedContainer lebih dict seperti (dikoreksi __delitem__ dan perilaku __getitem__), dengan tes. Sebaiknya tidak mempengaruhi kode urllib3 inti.

Apa yang baru di versi 1.0.1:

  • Fixed bug di mana sambungan yang sama akan mendapatkan kembali ke dalam kolam dua kali, menyebabkan asing & quot; HttpConnectionPool penuh & quot; peringatan log.

Persyaratan :

  • Python

Perangkat lunak lain dari pengembang Andrey Petrov

urllib3
urllib3

12 May 15

Komentar untuk urllib3

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!