c ++在webserver上向API发送请求然后接收json数组响应?

时间:2016-03-02 16:16:47

标签: c++ json

我想知道在我的服务器上向API发送请求的最简单方法,然后使用任何库接收API的响应(json数组)。我尝试过像cURL& lib这样的库。没有任何运气的提升,这是我想远离他们的原因。我已经搜索了很多天的答案而且找不到任何东西,这就是为什么我要求进入堆栈溢出社区!

1 个答案:

答案 0 :(得分:1)

即使问题是关于不使用库,我也借此机会展示使用库比用户认为更容易。

最好使用预先构建的库并停止重新发明轮子。您可以使用 curlcpp库。它是libcurl的包装器。使用此库可以轻松地进行HTTP请求。学习曲线也较少,它提供了C ++风格的访问,使得使用起来更加舒适。

以下代码来自他们的gitHub页面 - https://github.com/JosephP91/curlcpp

它向Google发出简单的 GET请求并检索HTML响应。您也可以使用此示例来点击apis。

#include "curl_easy.h"
#include "curl_exception.h"

using curl::curl_easy;
using curl::curl_easy_exception;
using curl::curlcpp_traceback;

int main(int argc, const char **argv) {
    curl_easy easy;
    // Add some option to the curl_easy object.
    easy.add<CURLOPT_URL>("http://www.google.it");
    easy.add<CURLOPT_FOLLOWLOCATION>(1L);
    try {
        // Execute the request.
        easy.perform();
    } catch (curl_easy_exception error) {
        // If you want to get the entire error stack we can do:
        curlcpp_traceback errors = error.get_traceback();
        // Otherwise we could print the stack like this:
        error.print_traceback();
        // Note that the printing the stack will erase it
    }
    return 0;
}