urllib3

Phần mềm chụp màn hình:
urllib3
Các chi tiết về phần mềm:
Phiên bản: 1.5
Ngày tải lên: 20 Feb 15
Nhà phát triển: Andrey Petrov
Giấy phép: Miễn phí
Phổ biến: 2

Rating: nan/5 (Total Votes: 0)

urllib3 là một thư viện Python HTTP với chủ đề an toàn kết nối tổng hợp và tập tin bài hỗ trợ.
Những điểm nổi bật:
& Nbsp; * Re-sử dụng kết nối ổ cắm tương tự cho nhiều yêu cầu (HTTPConnectionPool)
& Nbsp; * File gửi bài (encode_multipart_formdata)
& Nbsp; * Built-in chuyển hướng và thử lại (không bắt buộc)
& Nbsp; * Thread-an toàn
Có gì sai với urllib và urllib2?
Có hai tính năng quan trọng bị mất tích từ các thư viện chuẩn của Python: Connection tái sử dụng / tổng hợp và gửi bài tập. Đó không phải là terribly khó để thực hiện những chính mình, nhưng nó dễ dàng hơn để sử dụng một mô-đun đã làm việc cho bạn.
Các thư viện chuẩn của Python urllib và urllib2 có ít để làm với nhau. Chúng được thiết kế để được độc lập và độc lập, mỗi giải một phạm vi khác nhau của vấn đề, và urllib3 sau trong một tĩnh mạch tương tự.
Tại sao tôi muốn tái sử dụng các kết nối?
Hiệu suất. Khi bạn thường làm một cuộc gọi urllib, một kết nối socket riêng biệt được tạo ra với mỗi yêu cầu. Bằng cách dùng lại ổ cắm hiện tại (được hỗ trợ từ HTTP 1.1), các yêu cầu sẽ mất tài nguyên ít hơn vào cuối của máy chủ, và cũng cung cấp một thời gian phản ứng nhanh hơn tại đầu cuối của khách hàng. Với một số tiêu chuẩn đơn giản (xem thử nghiệm / benchmark.py), tải 15 URL từ google.com là về nhanh gấp hai lần khi sử dụng HTTPConnectionPool (trong đó sử dụng 1 kết nối) vì sử dụng urllib đồng bằng (trong đó sử dụng 15 kết nối).
Thư viện này là hoàn hảo cho:
& Nbsp; * Nói chuyện với một API
& Nbsp; * Crawling một website
& Nbsp; * Bất kỳ tình huống mà có thể để gửi các tập tin, xử lý chuyển hướng, và thử lại rất hữu ích. Đó là tương đối nhẹ, vì vậy nó có thể được sử dụng cho bất cứ điều gì!
Ví dụ:
Tới các ví dụ wiki cho các ví dụ nổi bật cú pháp tốt đẹp hơn.
Nhưng, câu chuyện dài ngắn:
từ nhập khẩu urllib3 HTTPConnectionPool
API_URL = 'http://ajax.googleapis.com/ajax/services/search/web'
http_pool = HTTPConnectionPool.from_url (API_URL)
lĩnh vực = {'v': '1.0', 'q': 'urllib3'}
r = http_pool.get_url (API_URL, lĩnh vực)
in r.status, r.data

là gì mới trong phiên bản này:

  • Thêm urllib3.add_stderr_logger () cho một cách nhanh chóng tạo điều kiện cho thiết bị lỗi chuẩn gỡ lỗi đăng nhập trong urllib3.
  • URL đầy đủ Native phân tích cú pháp (bao gồm cả auth, con đường, truy vấn, fragment) có sẵn trong urllib3.util.parse_url (url).
  • Built-in chuyển hướng sẽ chuyển đổi phương thức để 'GET' nếu mã trạng thái là 303. (Issue # 11)
  • urllib3.PoolManager dải các chương trình và máy chủ trước khi gửi yêu cầu uri. (Issue # 8)
  • New urllib3.exceptions.DecodeError ngoại lệ khi giải mã tự động, dựa trên các Content-Type header, thất bại.
  • Cố định lỗi với sự suy giảm hồ bơi và các kết nối bị rò rỉ (Issue # 76). Thêm kết nối rõ ràng đóng trên hồ bơi đuổi. Added urllib3.PoolManager.clear ().
  • 99% - & gt; Bảo hiểm thử nghiệm đơn vị 100%.

là gì mới trong phiên bản 1.4:.

  • sửa AppEngine liên quan đến nhánh
  • Switched từ mimetools.choose_boundary để uuid.uuid4 ().
  • Cải thiện phân tích url. (Issue # 73)
  • hỗ trợ url IPv6. (Issue # 72)

là gì mới trong phiên bản 1.3:.

  • Bỏ tiền 1.0 API phản
  • người giúp việc tái cơ cấu thành một submodule urllib3.util.
  • Cố định mã hóa nhiều phần để hỗ trợ danh sách-của-tuple cho phím với nhiều giá trị. (Issue # 48)
  • Cố định nhiều tiêu đề Set-Cookie trong phản ứng không nhận sáp nhập đúng trong Python 3. (Issue # 53)
  • hỗ trợ AppEngine với Py27. (Issue # 61)
  • sửa encode_multipart_formdata nhỏ liên quan đến Python 3 dây vs byte.

là gì mới trong phiên bản 1.2.2:

  • lỗi đóng gói cố định của không vận chuyển bài thi yêu cầu. txt. (Issue # 47)

là gì mới trong phiên bản 1.2.1:

  • Cố định một lỗi liên quan đến khi mô-đun ssl không phải là sẵn. (Issue # 41)
  • Vị trí phân tích các lỗi hiện nay tăng urllib3.exceptions.LocationParseError mà kế thừa từ ValueError.

là gì mới trong phiên bản 1.2:

  • 3 hỗ trợ gia tăng Python (thử nghiệm trên 3.2.2)
  • 2.5 hỗ trợ Bỏ Python (thử nghiệm trên 2.6.7, 2.7.2)
  • Sử dụng select.poll thay vì select.select cho các nền tảng có hỗ trợ nó.
  • Sử dụng Queue.LifoQueue thay vì Queue.Queue tích cực hơn cho kết nối tái sử dụng. Cấu hình bằng cách ghi đè ConnectionPool.QueueCls.
  • Cố định ImportError trong khi cài đặt khi mô-đun ssl là không có sẵn. (Issue # 41)
  • Cố định PoolManager chuyển hướng giữa các hệ thống (chẳng hạn như HTTP - & gt; HTTPS) không hoàn thành đúng. (Issue # 28, phát hiện bởi Issue # 10 trong v1.1)
  • dummyserver Ported để sử dụng thay vì lốc xoáy webob + eventlet. Không được hỗ trợ loại bỏ phần phụ trợ thử nghiệm dummyserver không liên quan. Kiểm tra thêm ổ cắm cấp.
  • More xét nghiệm. Thành tựu Unlocked:. 99% Bảo hiểm

là gì mới trong phiên bản 1.1:

  • refactored dummyserver để mô-đun không gian tên gốc của nó (được sử dụng để thử nghiệm ).
  • xác minh thêm hostname cho VerifiedHTTPSConnection bởi vendoring trong ssl_match_hostname Py32 của. (Issue # 25)
  • Cố định cross-host HTTP chuyển hướng khi sử dụng PoolManager. (Issue # 10)
  • Cố định decode_content bị bỏ qua khi thiết lập thông qua urlopen. (Issue # 27)
  • lỗi timeout liên quan đến cố định. (Các vấn đề # 17, # 23)

là gì mới trong phiên bản 1.0.2:

  • Sửa lỗi đánh máy trong VerifiedHTTPSConnection mà sẽ chỉ xuất hiện như một lỗi nếu bạn đang sử dụng các đối tượng bằng tay. (Cảm ơn pyos)
  • Made RecentlyUsedContainer (và do đó PoolManager) nhiều thread-an toàn bằng cách gói bản ghi truy cập trong một mutex. (Cảm ơnchrister)
  • Made RecentlyUsedContainer hơn dict-like (sửa __delitem__ và hành vi __getitem__), với các bài kiểm tra. Không ảnh hưởng đang urllib3 lõi.

là gì mới trong phiên bản 1.0.1:

  • Sửa lỗi cùng một kết nối sẽ được trả lại vào hồ bơi hai lần, gây ra không liên quan & quot; HttpConnectionPool đầy & quot; đăng cảnh báo.

Yêu cầu :

  • Python

Phần mềm khác của nhà phát triển Andrey Petrov

urllib3
urllib3

12 May 15

Ý kiến ​​để urllib3

Bình luận không
Nhập bình luận
Bật hình ảnh!