连接

class urllib3.connection.HTTPConnection(*args, **kw)

基类:http.client.HTTPConnection, object

基于httplib.httpconnection,但在旧的和新的python之间提供了额外的构造函数向后兼容层。

其他关键字参数用于配置连接的属性。可接受的参数包括:

  • strict: See the documentation on urllib3.connectionpool.HTTPConnectionPool

  • source_address :设置当前连接的源地址。

  • socket_options :在基础套接字上设置特定选项。如果未指定,则从加载默认值 HTTPConnection.default_socket_options 这包括禁用nagle的算法(将tcp_nodelay设置为1),除非连接位于代理之后。

    例如,如果希望在默认值之外启用tcp keep alive,则可以传递:

    HTTPConnection.default_socket_options + [
        (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1),
    ]
    

    或者您可能希望通过传递空列表(例如, []

connect()

连接到中指定的主机和端口 __init__.

default_socket_options = [(6, 1, 1)]

默认情况下禁用Nagle的算法。 [(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)]

property host

getter方法以删除表示主机名是fqdn的任何尾随点。

一般来说,ssl证书不包含表示完全限定域名的尾随点,因此,当检查包含该点的域名时,它们不会正确验证。此外,有些服务器在提供时可能不希望接收尾随点。

但是,带有尾随点的主机名对于dns解析至关重要;使用尾随点执行查找将只正确解析适当的fqdn,而没有尾随点的查找将搜索系统的搜索域列表。因此,重要的是保持原始主机仅在适当的情况下使用(即,当执行dns查找以建立实际的tcp连接时,我们将通过该连接发送http请求)。

is_verified = False

此连接是否验证主机的证书。

request_chunked(method, url, body=None, headers=None)

公共请求方法的替代方法,该方法使用分块编码而不是作为一个块发送正文

socket_options

用户提供的套接字选项。如果没有提供选项,则使用默认选项。

urllib3.connection.HTTPSConnection

urllib3.connection.VerifiedHTTPSConnection 的别名