帮我用libcurl写一个带证书访问https://www.baidu.com的c++的访问的例子
时间: 2024-01-24 08:17:55 浏览: 154
C++访问web service实例
好的,以下是一个使用libcurl访问https://www.baidu.com的例子:
```cpp
#include <iostream>
#include <string>
#include <curl/curl.h>
int main() {
CURL* curl;
CURLcode res;
std::string url = "https://www.baidu.com";
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_CAINFO, "path/to/cert.pem"); // 设置证书路径
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
std::cerr << "curl_easy_perform() failed: " << curl_easy_strerror(res) << std::endl;
}
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
```
需要注意的是,我们需要通过 `curl_easy_setopt()` 函数设置证书路径,其中 `"path/to/cert.pem"` 需要替换为你实际的证书路径。如果你不知道如何获取证书,请参考这篇文章:[如何获取SSL证书](https://blog.csdn.net/weixin_43741648/article/details/107469202)。
另外,由于 `curl_easy_perform()` 函数会阻塞当前线程,因此建议将其放在子线程中执行,避免阻塞主线程。
阅读全文