class documentation

class Agent(_AgentBase): (source)

Implements interfaces: twisted.web.iweb.IAgent

View In Hierarchy

Agent is a very basic HTTP client. It supports HTTP and HTTPS scheme URIs.
Present Since
9.0
Class Method usingEndpointFactory Create a new Agent that will use the endpoint factory to figure out how to connect to the server.
Method __init__ Create an Agent.
Method request Issue a request to the server indicated by the given uri.
Method _getEndpoint Get an endpoint for the given URI, using self._endpointFactory.
Method _init Initialize a new Agent.
Instance Variable _endpointFactory The IAgentEndpointFactory which will be used to create endpoints for outgoing connections.
Instance Variable _pool An HTTPConnectionPool instance.

Inherited from _AgentBase:

Method _computeHostValue Compute the string to use for the value of the Host header, based on the given scheme, host name, and port number.
Method _requestWithEndpoint Issue a new request, given the endpoint and the path sent as part of the request.
Instance Variable _reactor The IReactorTime implementation which will be used by the pool, and perhaps by subclasses as well.
@classmethod
def usingEndpointFactory(cls, reactor, endpointFactory, pool=None): (source)
Create a new Agent that will use the endpoint factory to figure out how to connect to the server.
Parameters
reactor:see HostnameEndpoint.__init__ for acceptable reactor types.A reactor for this Agent to place outgoing connections.
endpointFactory:an IAgentEndpointFactory provider.Used to construct endpoints which the HTTP client will connect with.
pool:HTTPConnectionPoolAn HTTPConnectionPool instance, or None, in which case a non-persistent HTTPConnectionPool instance will be created.
Returns
A new Agent.
def __init__(self, reactor, contextFactory=BrowserLikePolicyForHTTPS(), connectTimeout=None, bindAddress=None, pool=None): (source)
Create an Agent.
Parameters
reactor:see HostnameEndpoint.__init__ for acceptable reactor types.A reactor for this Agent to place outgoing connections.
contextFactory:IPolicyForHTTPS.A factory for TLS contexts, to control the verification parameters of OpenSSL. The default is to use a BrowserLikePolicyForHTTPS, so unless you have special requirements you can leave this as-is.
connectTimeout:floatThe amount of time that this Agent will wait for the peer to accept a connection.
bindAddress:bytesThe local address for client sockets to bind to.
pool:HTTPConnectionPoolAn HTTPConnectionPool instance, or None, in which case a non-persistent HTTPConnectionPool instance will be created.
def request(self, method, uri, headers=None, bodyProducer=None): (source)

Issue a request to the server indicated by the given uri.

An existing connection from the connection pool may be used or a new one may be created.

HTTP and HTTPS schemes are supported in uri.

See Also
twisted.web.iweb.IAgent.request
def _getEndpoint(self, uri): (source)
Get an endpoint for the given URI, using self._endpointFactory.
Parameters
uri:URIThe URI of the request.
Returns
An endpoint which can be used to connect to given address.
def _init(self, reactor, endpointFactory, pool): (source)
Initialize a new Agent.
Parameters
reactor:see HostnameEndpoint.__init__ for acceptable reactor types.A reactor for this Agent to place outgoing connections.
endpointFactory:an IAgentEndpointFactory provider.Used to construct endpoints which the HTTP client will connect with.
pool:HTTPConnectionPoolAn HTTPConnectionPool instance, or None, in which case a non-persistent HTTPConnectionPool instance will be created.
Returns
A new Agent.
_endpointFactory = (source)
The IAgentEndpointFactory which will be used to create endpoints for outgoing connections.