#include <iostream>
#include <string>
#include <curl/curl.h>
// 回调函数,用于处理从网页获取的数据
size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* userp) {
size_t totalSize = size * nmemb;
userp->append((char*)contents, totalSize);
return totalSize;
}
int main() {
CURL* curl;
CURLcode res;
std::string readBuffer;
// 初始化CURL
curl_global_init(CURL_GLOBAL_DEFAULT);
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);
}
// 清理全局CURL资源
curl_global_cleanup();
return 0;
}
curl
库来进行 HTTP 请求。curl
是一个强大的库,支持多种协议(如 HTTP、HTTPS 等),并且可以方便地进行网络请求。WriteCallback
函数用于处理从网页获取的数据,并将其存储到 readBuffer
中。curl_easy_init
初始化 CURL,然后使用 curl_easy_setopt
设置请求的 URL 和回调函数。curl_easy_perform
执行 HTTP 请求,并将结果传递给回调函数。curl_easy_perform
的返回值,如果失败则输出错误信息。这个简单的 C++ 爬虫示例展示了如何使用 curl
库从指定的 URL 获取网页内容并输出到控制台。
上一篇:mutable在c++中的作用
下一篇:c++ grpc
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站