Как использовать Poco C ++ HTTPSessionFactory - PullRequest
4 голосов
/ 16 июня 2011

Каков наилучший и самый простой способ настроить HTTPSessionFactory для обработки как HTTP, так и HTTPS?Я знаю, что мне нужно использовать HTTPSessionInstantiators, но я мог бы использовать короткий и приятный пример.Спасибо.

1 Ответ

3 голосов
/ 02 октября 2012

Вам необходимо зарегистрировать протоколы 'http' и 'https'.

А для обработки https вам также необходимо настроить SSLManager с сертификатом и контекстом, вот пример кода:

//register http and https
HTTPSessionFactory::defaultFactory().registerProtocol("http", new HTTPSessionInstantiator);
HTTPSessionFactory::defaultFactory().registerProtocol("https", new HTTPSSessionInstantiator);
//prepare for SSLManager
SharedPtr ptrCert = new AcceptCertificateHandler(false);
const Poco::Net::Context::Ptr context = new Context(Context::CLIENT_USE, "", "", "", Context::VERIFY_NONE, 9, false, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH");
SSLManager::instance().initializeClient(0, ptrCert, context);
// now you have the HTTP(S)ClientSession
HTTPClientSession *session = HTTPSessionFactory::defaultFactory().createClientSession(uri);
...