TCPConnector维持链接池,限制并行连接的总量,当池满了,有请求退出再加入新请求。默认是100,limit=0的时候是无限制
1.use_dns_cache: 使用内部DNS映射缓存用以查询DNS, 优点:可能会使连接建立的速度更快, 缺点:比如说ip其实变了,但是DNS在映射缓存中的信息还没更新过来。
2.limit:同时连接的最大数量
3.limit_per_host: 同一端点的最大连接数量。同一端点即(host, port, is_ssl)完全相同

TCPConnector

class aiohttp.TCPConnector(*, verify_ssl=True, fingerprint=None, use_dns_cache=True, ttl_dns_cache=10, family=0, ssl_context=None, local_addr=None, resolver=None, keepalive_timeout=sentinel, force_close=False, limit=100, limit_per_host=0, enable_cleanup_closed=False, loop=None)

   用于使用TCP处理HTTP和HTTPS的连接器。

   如果你不知道该用什么连接器传输数据,那就用它吧。

   TCPConnector继承于BaseConnector.

   接受BaseConnector所需的所有参数和几个额外的TCP需要的参数。

(参数)Parameters:

verify_ssl (布尔类型) –

对HTTPS请求验证SSL证书(默认是验证的)。如果某些网站证书无效的话也可禁用。(该参数可选)

2.3版本后不赞成通过ClientSession.get()方法传递该参数。

fingerprint (字节码) -

传递所期望的SHA256值(使用DER编码)来验证服务器是否可以成功匹配。对证书固定非常有用。

警告: 不赞成使用不安全的MD5和SHA1哈希值。

新增于0.16版本。

2.3版本后不赞成通过ClientSession.get()方法传递该参数。

use_dns_cache (布尔类型) -

使用内部缓存进行DNS查找,默认为True。

这个选项可能会加速建立连接的时间,有时也会些副作用。

新增于0.17版本。

自1.0版本起该参数默认为True。

ttl_dns_cache -

查询过的DNS条目的失效时间,None表示永不失效。默认是10秒。

默认情况下DNS会被永久缓存,一些环境中的一些HOST对应的IP地址会在特定时间后改变。可以使用这个参数来让DNS刷新。

新增于2.0.8版本。

limit (整数) - 并发连接的总数。如果为None则不做限制。(默认为100)

limit_per_host - 向同一个端点并发连接的总数。同一端点是具有相同 (host, port, is_ssl)信息的玩意 x 3! 如果是0则不做限制。(默认为0)

resolver (aiohttp.abc.AbstructResolver) - 传入自定义的解析器实例。默认是aiohttp.DefaultResolver(如果aiodns已经安装并且版本>1.1则是异步的)。

自定义解析器可以配置不同的解析域名的方法。

1.1版本修改的内容: 默认使用aiohttp.ThreadResolver, 异步版本在某些情况下会解析失败。

family (整数) -

代表TCP套接字成员,默认有IPv4和IPv6.

IPv4使用的是socket.AF_INET, IPv6使用的是socket.AF_INET6.

0.18版本修改的内容: 默认是0,代表可接受IPv4和IPv6。可以传入socket.AF_INET或socket.AF_INET6来明确指定只接受某一种类型。

ssl_context (ssl.SSLContext) -

ssl上下文(管理器)用于处理HTTPS请求。(该参数可选)

ssl_context 用于配置证书授权通道,支持SSL选项等作用。

local_addr (元组) -

包含(local_host, local_post)的元组,用于绑定本地socket。

新增于0.21版本。

force_close (布尔类型) - 连接释放后关闭底层网络套接字。(该参数可选)

enable_cleanup_closed(元组)(这里原文应该写错了,应该是布尔类型,不管是之前的文档还是源码都是接受的布尔值。) -

一些SSL服务器可能会没有正确的完成SSL关闭过程,这种时候asyncio会泄露SSL连接。如果设置为True,aiohttp会在两秒后额外执行一次停止。此功能默认不开启。

verify_ssl

      如果返回True则会进行ssl证书检测。

      该属性只读。

ssl_context

      返回用于https请求的ssl.SSLContext实例,该属性只读。

family

      TCP套接字成员, 比如socket.AF_INET 或 socket.AF_INET6。

      该属性只读。

dns_cache

      如果DNS缓存可用的话返回True,否则返回False。

      该属性只读。

      新增于0.17版本。

cached_hosts

      如果dns缓存可用,则返回已解析的域名缓存。

      该属性只读,返回的类型为types.MappingProxyType。

      新增于0.17版本。

fingerprint

      返回传入的DER格式证书的MD5,SHA1或SHA256哈希值 ,如果没有的话会返回None.

      该属性只读。

      新增于0.16版本。

clear_dns_cache(self, host=None, port=None)

      清除内部DNS缓存。

      如果host和port指定了信息会删除指定的这个,否则清除所有的。

      新增于0.17版本。

aiohttp的笔记之TCPConnector的更多相关文章

  1. aiohttp笔记

    目录 简介 采集模板 一批,一次性采集 动态添加任务 动态添加任务,封装成类 简介 aiohttp需要python3.5.3以及更高的版本,它不但能做客户端爬虫,也能做服务器端,利用asyncio,协 ...

  2. Python开发【笔记】:aiohttp搭建简易聊天室

    简易聊天室: 1.入口main.py import logging import jinja2 import aiohttp_jinja2 from aiohttp import web from a ...

  3. python 学习笔记 aiohttp

    asyncio可以实现单进程并发IO操作,如果仅用在客户端,发挥的威力并不大,如果把asyncio用在服务器端,由于http链接就是IO操作, 因此可以用单线程+coroutine实现多客户的高并发支 ...

  4. aiohttp使用队列

    获取百度的搜索结果,然后把百度的长链接,获取到真实的url import time import aiofiles import aiohttp import asyncio from lxml im ...

  5. 《用OpenResty搭建高性能服务端》笔记

    概要 <用OpenResty搭建高性能服务端>是OpenResty系列课程中的入门课程,主讲人:温铭老师.课程分为10个章节,侧重于OpenResty的基本概念和主要特点的介绍,包括它的指 ...

  6. DAY7-Python学习笔记

    前记: 这几天在弄小程序,view页面的开发很简单,但是在加载图片上遇到了问题,小程序的大小不能超过2M,所以大部分的图片内容要通过request请求服务器来获取,这里之前学习小程序的时候是通过网站A ...

  7. python 调用aiohttp

    1. aiohttp安装   pip3 install aiohttp 1.1. 基本请求用法 async with aiohttp.get('https://github.com') as r: a ...

  8. 异步:asyncio和aiohttp的一些应用(2)

    转自:原文链接:http://www.cnblogs.com/ssyfj/p/9222342.html 1.aiohttp的简单使用(配合asyncio模块) import asyncio,aioht ...

  9. 异步网络模块之aiohttp的使用(一)

    异步网络模块之aiohttp的使用(一) 平时我们也许用的更多的是requests模块,或者是requests_hml模块,但是他们都属于阻塞类型的不支持异步,速度很难提高,于是后来出现了异步的gre ...

随机推荐

  1. 机器学习算法 Python&R 速查表

    sklearn实战-乳腺癌细胞数据挖掘( 博主亲自录制) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...

  2. js和jQuery中的事件绑定与普通事件

    普通事件,是指直接对元素进行事件注册,然后触发 而事件绑定是将事件注册到元素上 两者区别就是在于普通事件不可以重复添加多个事件,若添加也会覆盖,只会触发其中一个事件(最后注册的那个) 而事件绑定是可以 ...

  3. Mysql数据库进阶之(分表分库,主从分离)

    前言:数据库的优化是一个程序员的分水岭,作为小白我也得去提前学习这方面的数据的 (一)  三范式和逆范式 听起范式这个迟非常专业我来举个简单的栗子: 第一范式就是:  把能够关联的每条数据都拆分成一个 ...

  4. PHP7 学习笔记(十五)Repository 模式实现业务逻辑和数据访问的分离

    参考: 1.http://laravelacademy.org/post/3063.html

  5. Image转Base64

    今天和一个朋友联调图片转Base64时发现一个问题 public static string ImageToBase64(Image img) { BinaryFormatter binFormatt ...

  6. 关于公众平台接口不再支持HTTP方式调用的公告

    为保证数据传输安全,提高业务安全性,公众平台将不再支持HTTP方式调用.避免影响正常使用中含有HTTP方式调用的服务,请开发者尽快调整,将现有通过HTTP方式调用的切换成HTTPS调用,平台将于201 ...

  7. udp_client函数

    #include <netdb.h> #include <stdlib.h> #include <string.h> #include <sys/socket ...

  8. Oracle DbHelper

    wind8 系统选择项目时生成目标平台选择为X86 报错 “System.Exception”类型的未经处理的异常在 WindowsFormsApplication1.exe 中发生 其他信息: 尝试 ...

  9. 嵌入式-迅为iTOP-4418开发板Flash空间问题

    我的4418开发板 是4G版本 16G存储空间的.u-boot和文件系统.内核都是光盘自带的,进入linux系统之后 我使用df -h命令看到的存储空间不对,我用U盘做了测试:u盘里面放1G的内容往a ...

  10. vi常用指令

    vi filename 打开文件 i 进入编辑模式 esc 退出编辑模式 : 进入指令模式 wq 保存退出 q!不存盘强制退出vi 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字 ...