【发布时间】:2020-01-25 18:57:53
【问题描述】:
我有一个代码来执行它,但为什么它不起作用:
#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>
int main()
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(curl, CURLOPT_URL, "https://curl.haxx.se/libcurl/c/url2file.html");
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
struct curl_slist *headers = NULL;
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, stdout);
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);
return 0;
}
给出输出:
curl_easy_perform() 失败:SSL 对等证书或 SSH 远程密钥不正确
但是当我在 cmd 中执行 'curl https://curl.haxx.se/libcurl/c/url2file.html' 时,它会成功给出响应。
我从 Postman 那里得到了这段代码,只是稍微编辑了一下。 我的目的是将站点的响应打印到标准输出。
'Get' 请求在 Postman 上运行良好,但为什么它不能在 c 中的 libcurl 上运行。 我怎么解决这个问题 ? 我是 libcurl 的新手,我找不到足够好的信息,所以你有什么建议?
【问题讨论】: