我已经使用了c ++ rest sdk一段时间了,并且完全可以使用服务器和客户端。
问题是从客户端到服务器的http请求似乎总是明文所以当我想尝试登录时,
URI是http:// ... login?email=anemail@gmail.com&密码= 123456 我是网络编程的新手,但 这似乎不太安全 从我所理解的https是要走的路...到目前为止还没有关于如何使用casablanca c ++ rest sdk设置http over SSL服务器。
有没有人试图这样做?也许我还需要一个额外的库?
答案 0 :(得分:1)
casablanca在所有平台上使用http_client在客户端支持HTTPS,只有http_listener才能在Windows上使用HTTPS。要使用https,只需在构建http_client或http_listener对象为https时指定URI的方案,例如' https://www.google.com'。并将ssl证书添加到侦听端口。
答案 1 :(得分:1)
这是我在http_listener代码中看到的。它根本不支持Windows。
#ifndef _WIN32
/// <summary>
/// Get the callback of ssl context
/// </summary>
/// <returns>The function defined by the user of http_listener_config to configure a ssl context.</returns>
const std::function<void(boost::asio::ssl::context&)>& get_ssl_context_callback() const
{
return m_ssl_context_callback;
}
/// <summary>
/// Set the callback of ssl context
/// </summary>
/// <param name="ssl_context_callback">The function to configure a ssl context which will setup https connections.</param>
void set_ssl_context_callback(const std::function<void(boost::asio::ssl::context&)> &ssl_context_callback)
{
m_ssl_context_callback = ssl_context_callback;
}
#endif