gpt4 book ai didi

c++ - 编译错误 'set_ssl_context_callback' : on Windows

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:02:35 25 4
gpt4 key购买 nike

我想在我的上下文中添加一些 TLS 规范,因此我使用了 set_ssl_context_callback
但是我收到错误“set_ssl_context_callback 不是 web::http::client::http_client_config 的成员”,因为它被包围:

#if !defined(_WIN32) && !defined(__cplusplus_winrt)

如何禁用这些标志?

有解决办法吗?我使用的是 Visual Studio 2017.(15.6.7)

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 的成员”

最佳答案

这不适用于 Windows,因为它已被禁用:

if !defined(_WIN32) && !defined(__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)

关于c++ - 编译错误 'set_ssl_context_callback' : on Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56901379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com