urllib3

软件截图:
urllib3
软件详细信息:
版本: 1.5
上传日期: 20 Feb 15
开发: Andrey Petrov
许可: 免费
人气: 2

Rating: nan/5 (Total Votes: 0)

urllib3是线程安全的连接池和文件后支持Python的HTTP库。
亮点:
  *重新使用的多个请求相同的插座连接(HTTPConnectionPool)
  *文件发布(encode_multipart_formdata)
  *内置重定向和重试(可选)
  *线程安全
什么是错的urllib和urllib2的?
有两个重要的功能从Python标准库丢失:连接重复使用/池和文件发布。这是不是非常难实现这些自己,但它更容易使用已经做了工作,你的模块。
Python标准库的urllib和urllib2的关系不大对方。它们被设计为独立的,独立的,每一个解决问题的一个不同的范围,并urllib3遵循类似的静脉中。
我为什么要重用连接?
性能。当你通常做的urllib电话,与每个请求创建一个单独的套接字连接。通过重用现有的插座(因为HTTP 1.1的支持),请求将占用更少的资源在服务器的终端,并提供更快的响应时间,在客户端的结束。用一些简单的基准测试(见测试/ benchmark.py),从google.com下载网址15的两倍左右的速度在使用HTTPConnectionPool(使用1连接),比使用普通的urllib(使用15个连接)。
这个库是完美的:
  *谈起的API
  *爬行网站
  *任何地方能够发布文件,处理重定向和重试的情况是非常有用的。它的相对轻量级的,因此它可用于任何东西!
例子:
转至例子维基更漂亮的语法高亮的例子。
但是,长话短说:
从urllib3进口HTTPConnectionPool
API_URL ='http://ajax.googleapis.com/ajax/services/search/web“
http_pool = HTTPConnectionPool.from_url(API_URL)
田= {'V':'1.0','Q':'urllib3'}
R = http_pool.get_url(API_URL,域)
打印r.status,r.data

什么是此版本中的新

  • 在新增urllib3.add_stderr_logger()快速让STDERR调试日志urllib3。
  • 在本机全解析URL(包括身份验证,路径,查询,片段)提供urllib3.util.parse_url(URL)。
  • 在内置的重定向将切换方法,“GET”如果状态代码为303(问题#11)
  • 在urllib3.PoolManager条发送请求的URI之前,计划和主机。 (第8号)
  • 在新urllib3.exceptions.DecodeError例外的时候自动解码的基础上,Content-Type头,失败。
  • 修正了池枯竭和泄漏的连接(第76#)的bug。增加了明确的连接关上池驱逐。添加urllib3.PoolManager.clear()。
  • 在99% - > 100%的单元测试覆盖率。

什么在1.4版本的新

  • 在小AppEngine上相关的修正
  • 从mimetools.choose_boundary切换到uuid.uuid4()。
  • 在改进URL解析。 (问题#73)
  • 在IPv6的地址支持。 (问题#72)

什么版本1.3是新的

  • 在删除前1.0弃用API
  • 在重构佣工成urllib3.util子模块。
  • 修正了多部分编码,以支持具有多个值的键列表的元组。 (第48号)
  • 在回应固定多的Set-Cookie头没有得到在Python 3合并正确(第53号)
  • 在AppEngine上的支持与Py27。 (问题#61)

  • 涉及到Python 3串VS字节
  • 在小encode_multipart_formdata修复。

什么版本1.2.2的新

  • 在不出货测试要求固定包装的bug。 txt。 (问题#47)

什么在1.2.1版本新

  • 在固定与另一错误时,SSL模块不可用。 (第41号)
  • 在位置解析错误,现在提高urllib3.exceptions.LocationParseError它继承自ValueError错误。

什么版本1.2是新的

  • 在添加的Python 3支持(3.2.2测试)
  • 在丢弃的Python 2.5的支持(在2.6.7测试2.7.2)
  • 使用select.poll而不是select.select为支持它的平台。
  • 使用Queue.LifoQueue代替Queue.Queue更积极的连接复用。配置通过覆盖ConnectionPool.QueueCls。
  • 在固定的ImportError在安装过程中,当SSL模块不可用。 (第41号)
  • 在固定PoolManager方案(如HTTP - > HTTPS)之间的重定向不正确完成。 (问题#28,在V1.1问题#10破获)
  • 在阀块dummyserver使用webob + eventlet龙卷风来代替。去除多余的不支持dummyserver测试后端。加插座级测试。
  • 在更多的测试。成就解锁:99%的覆盖率

什么是1.1版本,新的

  • 在重构dummyserver到自己的根命名空间模块(用于测试)。
  • 添加主机名核查VerifiedHTTPSConnection通过vendoring在Py32的ssl_match_hostname。 (第25号)
  • 在固定跨主机HTTP使用PoolManager时重定向。 (第10号)

  • 在通过的urlopen设置
  • 在固定decode_content被忽略。 (第27号)
  • 在固定超时相关的错误。 (问题#17,#23)

什么是1.0.2版本,新的

  • 在VerifiedHTTPSConnection固定错字,因为这只会存在一个如果你手动使用对象错误。 (感谢pyos)
  • 在制造RecentlyUsedContainer(因此PoolManager)更多的线程安全通过在包装互斥访问日志。 (感谢@christer)
  • 在制造RecentlyUsedContainer更多的字典类(修正__delitem__和__getitem__行为),以测试。应该不会影响核心urllib3代码。

什么是1.0.1版本,新的

  • 修正了相同的连接将获得返回的错误入池两次,导致多余的" HttpConnectionPool充满"记录警告。

要求

  • 在Python中

显影剂的其他软件 Andrey Petrov

urllib3
urllib3

12 May 15

意见 urllib3

评论没有发现
添加评论
打开图片!