为了方便安装,在D盘根目录下新建一个名为libcurl-ssl的文件夹,将下载的三个压缩包解压到该文件夹。
在 curl-7.54.0 -> lib 下新建文件夹openssl用来存放openssl的头文件。html
打开安装包,选择Modify默认安装或Repair修改安装路径均可以api
这是最麻烦、最容易出错的一环了,由于他没有项目文件,只能经过命令行来编译。安全
等待差很少五分钟,只要不出现“stop”,安全地执行到结束,就算成功。
一旦中间出了差错,最好是把文件夹也删了,从新解压、配置编译,若是你留有编译失败的半成品,它可能会告诉你“没法解析XXX”。服务器
将 openssl-1.0.2k -> inc32 -> openssl 全部的.h 和 openssl-1.0.2k -> out32dll 的 libeay32.lib、libeay32.dll、ssleay32.lib、ssleay32.dll 一块儿复制到 curl-7.54.0 -> lib -> openssl 中curl
编译平台选择 DLL Debug - DLL OpenSSL函数
在编译成功后 curl-7.54.0 -> build -> Win32 -> VC14 -> DLL Debug - DLL OpenSSL 文件夹中会生成有 libcurld.dll 和 libcurld.lib(注意名字不是libcurl)。工具
例如建立的项目文件夹位于 D: -> LibcurlTest,编译版本为debug X86。测试
#include "stdafx.h" #include "../include/curl/curl.h" #pragma comment(lib,"../lib/debug/libcurld.lib") int main() { CURL *curl; CURLcode res; curl = curl_easy_init(); if (curl) { curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, true); curl_easy_setopt(curl, CURLOPT_URL, "https://www.baidu.com"); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); 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); } system("pause"); return 0; }
运行结果:在控制台中显示 https://www.baidu.com 网页源码,若是没有OpenSSL的编译和连接,是不能访问https的。可是显示中文部分是乱码,本人水平有限,认为这是C++输出的问题,我将源码保存成txt打开是没问题的。ui
注:本文整理修改自互联网。url