c++ curl获取服务端信息
时间: 2024-11-06 15:36:00 浏览: 26
利用openssl和curl库获取https服务端证书
5星 · 资源好评率100%
在C++中使用libcurl库来获取服务端的信息,首先需要包含`<curl/curl.h>`头文件,并链接libcurl库。以下是一个基本的示例,展示如何发送HTTP GET请求并接收响应:
```cpp
#include <iostream>
#include <curl/curl.h>
size_t WriteCallback(char* contents, size_t size, size_t nmemb, std::string* userp) {
// 将接收到的内容追加到字符串
userp->append(contents, size * nmemb);
return size * nmemb;
}
int main() {
CURL *curl;
CURLcode res;
std::string response;
// 初始化CURL会话
curl = curl_easy_init();
if(curl) {
// 设置URL
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/api/info");
// 设置回调函数,当有数据接收到时会被调用
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
// 执行请求并捕获结果
res = curl_easy_perform(curl);
// 检查是否有错误
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
// 清理CURL会话
curl_easy_cleanup(curl);
// 输出响应
std::cout << "Response:\n" << response << "\n";
} else {
std::cerr << "Failed to initialize libcurl\n";
}
return 0;
}
```
这个例子中,`WriteCallback`函数负责收集服务器返回的数据,然后`main()`函数执行请求并处理结果。
阅读全文