我想在我的上下文中添加一些TLS规范,因此我使用的是set_ssl_context_callback。
但是我得到了错误"set_ssl_context_callback不是web::http::client::http_client_config的成员“,因为它周围是:
#if !defined(_WIN32) && !defined(__cplusplus_winrt)如何禁用这些标志?
有解决办法吗?我正在使用Visual 2017。
http_client_config config;
config.set_ssl_context_callback([](boost::asio::ssl::context &context){
context.set_options(boost::asio::ssl::context::no_sslv2
| boost::asio::ssl::context::no_sslv3
| boost::asio::ssl::context::no_tlsv1
| boost::asio::ssl::context::no_tlsv1_1);
});
http_client raw_client(SessionData::get_instance().GetServerUrl(), config);我得到以下错误"set_ssl_context_callback不是web::http::client::http_client_config的成员“
发布于 2019-08-07 03:59:07
由于Windows已被禁用,因此此功能不可用:
定义(_WIN32)和定义(__cplusplus_winrt)
用cpprest 2.10代替使用以下代码:
auto func = [&](native_handle handle) {
BOOL win32Result = FALSE;
DWORD secure_protocols = WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2;
win32Result = ::WinHttpSetOption(handle,
WINHTTP_OPTION_SECURE_PROTOCOLS,
&secure_protocols,
sizeof(secure_protocols));
if (FALSE == win32Result) {
MessageBox(NULL, L"error", L"Failed to set minimum TLS option", MB_OK);
}
else
MessageBox(NULL, L"error", L"Set minimum TLS option to Success", MB_OK);
};
config.set_nativesessionhandle_options(func)https://stackoverflow.com/questions/56901379
复制相似问题