zoukankan      html  css  js  c++  java
  • aiohttp的笔记之TCPConnector

    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版本。

  • 相关阅读:
    cocos2dx打飞机项目笔记七:各种回调:定时器schedule、普通回调callFunc、菜单回调menu_selector、事件回调event_selector
    cocos2dx打飞机项目笔记六:GameScene类和碰撞检测 boundingbox
    [Redis] 手动搭建标准6节点Redis集群(docker)
    [JavaSE 源码分析] 关于HashMap的个人理解
    [leetcode 周赛 150] 1161 最大层内元素和
    [leetcode 周赛 150] 1160 拼写单词
    [leetcode 周赛 149] 1157 子数组中占绝大多数的元素
    [leetcode 周赛 149] 1156 单字符重复子串的最大长度
    [leetcode 周赛 149] 1155 掷骰子的N种方法
    [leetcode 周赛 149] 1154 一年中的第几天
  • 原文地址:https://www.cnblogs.com/c-x-a/p/10480466.html
Copyright © 2011-2022 走看看