Casablanca C ++ Rest - 如何禁用证书验证

时间:2015-11-18 06:49:48

标签: c++ https casablanca

我正在尝试使用C ++ Rest SDK在服务器上执行POST。 如果服务器设置为http,它可以正常工作,但是如果服务器设置为https,则代码会因此错误而失败

Error exception:EinHttpSendRequest: 12175: A security error occured

我认为这是因为证书验证并绕过它我将false设置为set_validate_certificates。但它仍然给我同样的错误。

这是我的代码。

wstring baseUrl = L"https://167.199.104.41:8044";
    http_client_config config;
    config.set_validate_certificates(false);


    http_client httpClient(baseUrl, config);



    try
    {
        http_request req(methods::POST);
        req.set_request_uri(L"/api/config/%5Bget%5D");
        req.set_body("[\"pool/test/url/server\",\"pool/test/url/instance\"]", "application/json");


        http_response httpResponse = httpClient.request(req).get();

        http::status_code st = httpResponse.status_code();

        if(httpResponse.status_code() == status_codes::OK)
        {
            wstring output = httpResponse.extract_string().get();
            wcout << output << endl;
        }
       }
       catch (const std::exception &e)
       {
         printf("Error exception:%s\n", e.what());
       }

请指导。

由于 苏尼

2 个答案:

答案 0 :(得分:0)

这似乎在NuGet.org上的2.6.0中得到了纠正

https://www.nuget.org/packages/cpprestsdk.v120.windesktop.msvcstl.dyn.rt-dyn/

答案 1 :(得分:0)

我刚刚卸载了casablanca 2.4.0然后重新安装它,它对我有用。