#include <iostream>
#include <string>
#include <curl/curl.h>
// 回调函数,用于处理服务器返回的数据
size_t WriteCallback(void* contents, size_t size, size_t nmemb, void* userp) {
((std::string*)userp)->append((char*)contents, size * nmemb);
return size * nmemb;
}
int main() {
CURL* curl;
CURLcode res;
std::string readBuffer;
// 初始化CURL
curl = curl_easy_init();
if (curl) {
// 设置请求的URL
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
// 设置回调函数和用户数据
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);
// 执行HTTP请求
res = curl_easy_perform(curl);
// 检查请求是否成功
if (res != CURLE_OK) {
std::cerr << "curl_easy_perform() failed: " << curl_easy_strerror(res) << std::endl;
} else {
// 输出服务器返回的内容
std::cout << readBuffer << std::endl;
}
// 清理CURL资源
curl_easy_cleanup(curl);
}
return 0;
}
<iostream>、<string>和<curl/curl.h>库。curl库用于发起HTTP请求。WriteCallback函数用于处理从服务器接收到的数据,并将其存储在readBuffer字符串中。curl_easy_init()初始化一个CURL句柄。curl_easy_setopt()设置请求的URL和其他选项,如回调函数和用户数据。curl_easy_perform()执行HTTP请求。curl_easy_cleanup()释放CURL资源。这个示例展示了如何使用C++和libcurl库发起一个简单的HTTP GET请求并处理响应。
上一篇:c++ 多重继承
下一篇:c++怎么运行代码
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站