python3 urllib3_python的urllib3库(http连接池)

  • Post author:
  • Post category:python


urllib3的简易使用

禁用urllib3的警告

urllib3.disable_warnings() # 禁用各种urllib3的警告

import urllib3

http = urllib3.PoolManager() # urllib3的连接池

res = http.request(“GET”,”http://www.baidu.com”)

print(res.status) # 响应状态码

print(res.data) # 响应的数据 字节流,需要decode(“utf-8”) 为unicode类型

连接池参数详解

1.retry:重试重定向次数,默认次数为3次,如果想要关闭重定向,但是不想关闭重试只需redirect=Flase,如果重定向重试都关闭,retries=False

2.timeout:超时,可以设置链接超时和读超时

timeout = urllib3.Timeout(connect=1,read=2)

3.numpools:池子的数量,假如有10个池子,当你访问第11个ip的时候第一个池子会被干掉,然后建一个

新的供第11个使用.一个池子是作用于同一个ip下的,即 http://aaa.com/a 和http://aaa.com/b是会共用一个池子的

4.maxsize:一个池子缓存的最大连接数量.没有超过最大链接数量的链接都会被保存下来.在block为false的情况下,

添加的额外的链接不会被保存一般多用于多线程之下,一般情况是设置为和线程数相等的数量, 保证每个线程都能访问一个链接.

5.还有一个参数 是 block ,默认为False,如果线程数量大于池子最大链接数量.这时设置block为true,则会阻塞线程,因为线程会等其他线程使用完链接,如果设置为False,则不会阻塞



版权声明:本文为weixin_33316051原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。