Library: NetSSL_OpenSSL
Package: HTTPSClient
Header: Poco/Net/HTTPSClientSession.h
This class implements the client-side of a HTTPS session.
To send a HTTPS request to a HTTPS server, first instantiate a HTTPSClientSession object and specify the server's host name and port number.
Then create a HTTPRequest object, fill it accordingly, and pass it as argument to the sendRequst() method.
sendRequest() will return an output stream that can be used to send the request body, if there is any.
After you are done sending the request body, create a HTTPResponse object and pass it to receiveResponse().
This will return an input stream that can be used to read the response body.
See RFC 2616 <http://www.faqs.org/rfcs/rfc2616.html> for more information about the HTTP protocol.
Note that sending requests that neither contain a content length field in the header nor are using chunked transfer encoding will result in a SSL protocol violation, as the framework shuts down the socket after sending the message body. No orderly SSL shutdown will be performed in this case.
Direct Base Classes: HTTPClientSession
All Base Classes: HTTPClientSession, HTTPSession
Member Functions: connect, proxyRequestPrefix, serverCertificate
Inherited Functions: abort, attachSocket, buffered, close, connect, connected, deleteRequestStream, deleteResponseStream, detachSocket, get, getExpectResponseBody, getHost, getKeepAlive, getKeepAliveTimeout, getPort, getProxyHost, getProxyPort, getRequestStream, getResponseStream, getTimeout, mustReconnect, networkException, peek, proxyRequestPrefix, read, receive, receiveResponse, reconnect, refill, sendRequest, setException, setExpectResponseBody, setHost, setKeepAlive, setKeepAliveTimeout, setPort, setProxy, setProxyHost, setProxyPort, setReconnect, setRequestStream, setResponseStream, setTimeout, socket, write
HTTPS_PORT = 443
Creates an unconnected HTTPSClientSession.
explicit HTTPSClientSession(
const SecureStreamSocket & socket
);
Creates a HTTPSClientSession using the given socket. The socket must not be connected. The session takes ownership of the socket.
explicit HTTPSClientSession(
Context::Ptr pContext
);
Creates an unconnected HTTPSClientSession, using the give SSL context.
HTTPSClientSession(
const std::string & host,
Poco::UInt16 port = HTTPS_PORT
);
Creates a HTTPSClientSession using the given host and port.
HTTPSClientSession(
const std::string & host,
Poco::UInt16 port,
Context::Ptr pContext
);
Creates a HTTPSClientSession using the given host and port, using the given SSL context.
Destroys the HTTPSClientSession and closes the underlying socket.
X509Certificate serverCertificate();
Returns the server's certificate.
The certificate is available after the first request has been sent.
void connect(
const SocketAddress & address
);
See also: Poco::Net::HTTPSession::connect()
std::string proxyRequestPrefix() const;