XMLリソースにアクセスするためのC++アプリを作成しようとしています。httpを使用すると、コードは正常に機能します。ドキュメントからわかるように、httpsが機能するために必要なのは、sslがインストールされていること(はい、devエディションがインストールされていること)を確認し、StreamFactoryをHTTPSStreamFactoryに変更することだけです。
動作するコードは次のとおりです。
Poco::Net::HTTPStreamFactory::registerFactory();
Poco::URI uri(argv[1]);
std::auto_ptr<std::istream> pStr(Poco::URIStreamOpener::defaultOpener().open(uri));
std::string str;
StreamCopier::copyToString(*pStr.get(), str);
Poco :: Net :: HTTPSStreamFactory :: registerFactory();に失敗するコードは次のとおりです。Poco :: URI uri(argv [1]);
std::auto_ptr<std::istream> pStr(Poco::URIStreamOpener::defaultOpener().open(uri));
std::string str;
StreamCopier::copyToString(*pStr.get(), str);
HTTPSStreamFactoryを使用してリクエストを行うと、次のエラーメッセージが表示されます。
NULLポインター:_pInstance[ファイル"/home/chpick/poco-1.3.6p2/Util/include/Poco/Util/Application.h"、行422]
Application.hを添付しました
inline Application& Application::instance()
{
poco_check_ptr (_pInstance);
return *_pInstance;
}
どんな助けでも素晴らしいでしょう。ありがとう