我写了一个程序来测试C中的libcurl,这里是代码:
#include <curl/curl.h>
#include <string.h>
int main()
{
int ret;
static char buf[10000];
CURL *curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://www.baidu.com");
curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, buf);
curl_easy_setopt(curl, CURLOPT_CAINFO, "/etc/ssl/certs/ca-certificates.crt");
ret = curl_easy_perform(curl);
if (ret == CURLE_OK)
printf("OK\n");
else {
size_t len = strlen(buf);
fprintf(stderr, "\nlibcurl: (%d) ", ret);
if(len)
fprintf(stderr, "%s%s", buf,
((buf[len - 1] != '\n') ? "\n" : ""));
else
fprintf(stderr, "%s\n", curl_easy_strerror(ret));
}
curl_easy_cleanup(curl);
}
}
此代码适用于CentOS,但在debian上抛出“SSL CA证书问题(路径?访问权限?)”,我指定的CA文件是正确的,可以读取,当我运行{{1}时在终端中,它显示
curl -v https://www.baidu.com
使用Debian时我应该做一些其他的步骤吗?