c++ http请求
时间: 2024-09-03 09:01:52 浏览: 55
在 C++ 中发送 HTTP 请求通常涉及到网络编程,尤其是使用库来处理底层的套接字通信。常见的库有 cURL、Poco C++ Libraries 或者 Boost.Asio。这里是一个简化的例子,使用 cURL 库来发送 GET 请求:
```cpp
#include <curl/curl.h>
// 创建一个 curl 存储上下文
CURL *curl;
CURLcode res;
// 初始化 curl
curl_global_init(CURL_GLOBAL_DEFAULT);
// 创建 curl 处理指针
curl = curl_easy_init();
if(curl) {
// 设置 URL
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api/data");
// 设置返回的数据类型为字符串,默认是 binary
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback); // 自定义回调函数处理数据
curl_easy_setopt(curl, CURLOPT_WRITEDATA, NULL); // 当前不需要写入数据
// 执行请求
res = curl_easy_perform(curl);
// 检查错误并清理资源
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
curl_easy_cleanup(curl);
}
// 清理全局初始化
curl_global_cleanup();
// 自定义回调函数(示例)
size_t WriteCallback(char *data, size_t size, size_t nmemb, void *userp) {
((std::string*)userp)->append(data, size * nmemb);
return size * nmemb;
}
```
阅读全文