0

我正在尝试使用 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());
       }

请指导。

谢谢苏尼尔

4

2 回答 2

0

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

于 2015-11-23T01:51:40.797 回答
0

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

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

于 2015-11-19T14:50:57.660 回答