'Create an L{Agent}.
@param reactor: A provider of
L{twisted.internet.interfaces.IReactorTCP} and
L{twisted.internet.interfaces.IReactorSSL} for this L{Agent} to
place outgoing connections.
@type reactor: L{twisted.internet.interfaces.IReactorTCP} and
L{twisted.internet.interfaces.IReactorSSL}
@param contextFactory: A factory for TLS contexts, to control the
verification parameters of OpenSSL.  The default is to use a
L{BrowserLikePolicyForHTTPS}, so unless you have special
requirements you can leave this as-is.
@type contextFactory: L{IPolicyForHTTPS}.
@param connectTimeout: The amount of time that this L{Agent} will wait
for the peer to accept a connection.
@type connectTimeout: L{float}
@param bindAddress: The local address for client sockets to bind to.
@type bindAddress: L{bytes}
@param pool: An L{HTTPConnectionPool} instance, or L{None}, in which
case a non-persistent L{HTTPConnectionPool} instance will be
created.
@type pool: L{HTTPConnectionPool}'

def __init__(self, reactor, contextFactory=BrowserLikePolicyForHTTPS(), connectTimeout=None, bindAddress=None, pool=None):

    if (not IPolicyForHTTPS.providedBy(contextFactory)):
        warnings.warn((repr(contextFactory) + '    was    passed    as    the    HTTPS    policy    for    an    Agent,    but    it    does    not    provide    IPolicyForHTTPS.        Since    Twisted    14.0,    you    must    pass    a    provider    of    IPolicyForHTTPS.'), stacklevel=2, category=DeprecationWarning)
        contextFactory = _DeprecatedToCurrentPolicyForHTTPS(contextFactory)
    endpointFactory = _StandardEndpointFactory(reactor, contextFactory, connectTimeout, bindAddress)
    self._init(reactor, endpointFactory, pool)
