c++ curl如何使用例子
时间: 2024-09-09 14:02:28 浏览: 50
在C++中,`libcurl`是一个强大的库,用于处理HTTP和其他网络协议的客户端请求。以下是一个简单的示例,展示如何使用`libcurl`发送GET请求并打印响应:
```cpp
#include <iostream>
#include <curl/curl.h>
size_t WriteCallback(char* ptr, size_t size, size_t nmemb, std::string* data) {
size_t total = size * nmemb;
data->append(ptr, total);
return total;
}
int main() {
CURL* curl;
CURLcode res;
std::string response;
// 初始化curl会话
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if (curl) {
// 设置URL
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
// 设置写入回调函数,将服务器响应存储到response变量中
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
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;
} else {
std::cout << "Response: " << response << std::endl;
}
// 清理资源
curl_easy_cleanup(curl);
}
// 释放全局初始化
curl_global_cleanup();
return 0;
}
```
在这个例子中,我们首先初始化了`libcurl`,设置了请求的目标URL,然后设置了一个回调函数来接收服务器的响应。`curl_easy_perform()`函数实际发起请求,之后检查结果并清理资源。
阅读全文