urllib3
2016-04-23 12:38:52 0 举报
urllib3是一个功能强大、易于使用的Python HTTP客户端库,用于处理HTTP请求和响应。它提供了许多高级功能,如连接池、超时控制、SSL证书验证等,使得与Web服务的交互变得更加简单和可靠。通过使用urllib3,开发人员可以轻松地发起GET、POST、PUT等请求,并处理返回的响应数据。此外,urllib3还支持异步请求,可以与asyncio等异步框架无缝集成,提高程序的性能。总之,urllib3是Python开发者处理HTTP请求的理想选择,无论是在简单的爬虫任务还是在复杂的Web应用开发中,都能发挥出巨大的作用。
作者其他创作
大纲/内容
request 根据方法不同调用 encode_url 或者 encode_body
用到的库:1. MutableMapping:PM 作为管理容器池的数据结构,保持最近使用的 N 个连接池2. LifoQueue:CP 作为控制 pool 的数据结构,保存栈式结构的连接3. httplib/http.client 作为最底层的 socket 和 请求管理
MutableMapping
HTTPConnection
+ source_address+ socket_options
+ _new_conn()+ connect()+ request_chunked()
OrderedDict
RecentlyUsedContainer
+ _maxsize+ dispose_func+ _container+ lock
+ __getitem__+ __setitem__+ __delitem__+ __len__+ clear()+ keys()
HTTPSConnectionPool
+ key_file+ cert_file+ ca_certs+ ssl_version
+ _prepare_conn(conn)+ _prepare_proxy(conn)+ _new_conn()+ _validate_conn(conn)
PoolManager
- num_pools- headers+ connection_pool_kw+ pools
ConnectionPool
+ scheme+ QueueCls+ host+ port
+ __str__()+ close()
RequestField
+ _name+ _filename+ data+ headers
+ from_tuples: classmethod+ render_headers+ make_multipart
HTTPSConnection
+ key_file+ cert_file
+ connect()
thread-safe connection pool for one host
RequestMethods
+ headers
+ request_encode_url+ request_encode_body+ request+ urlopen:interface
HTTPConnectionPool
+ timeout+ retries+ pool: LifoQueue+ proxy
使用 threading.Lock 提供线程安全容器池
httplib.HTTPConnection
0 条评论
下一页