如何用C++创建一个httpfangkezstueducn6007swagger的GET请求并且接受返回的数据
以下是一个示例代码,使用C++的libcurl库来创建HTTP GET请求并接收返回的数据:
#include <iostream>
#include <curl/curl.h>
int main()
{
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if (curl) {
std::string url = "http://fangke.zstu.edu.cn:6007/swagger";
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
// 设置接收返回数据的回调函数
std::string response;
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, [](char *ptr, size_t size, size_t nmemb, void *userdata) -> size_t {
std::string *response = (std::string*)userdata;
response->append(ptr, size * nmemb);
return size * nmemb;
});
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
// 执行请求
res = curl_easy_perform(curl);
if (res != CURLE_OK)
std::cerr << "curl_easy_perform() failed: " << curl_easy_strerror(res) << std::endl;
std::cout << "Response:" << std::endl << response << std::endl;
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
在上面的代码中,首先初始化了libcurl库,并创建了一个CURL对象。然后设置了请求的URL和是否跟踪重定向。接着设置了接收返回数据的回调函数,该函数在每次接收到数据时会将其添加到一个std::string对象中。最后执行请求,并在请求完成后输出接收到的数据。
需要注意的是,上面的示例代码中并没有对请求过程中可能出现的错误进行处理,实际使用时应该根据需要进行相应的错误处理。
原文地址: https://www.cveoy.top/t/topic/byaX 著作权归作者所有。请勿转载和采集!