今天大家分享vs2013配置支持https的libcurl一、安装openssl:喜欢的伙伴在评论区多多回复,谢谢大家支持

查windows是否安装openssl(分享vs2013配置支持https的libcurl一)(1)

向往的地方等你去

一、安装openssl:

需要先安装nasm和ActivePerl。

nasm需要手动配置环境变量。ActivePerl下载下来一路next安装就好了。

我安装openssl的时候是2018-08-03。不保证以后下面这个链接的方法依然有用。

我参考的是这个:https://blog.csdn.net/hpp24/article/details/54406424

亲测有用。只不过生成的include lib 等目录不对。居然在这目录C:\usr\local\ssl

需要注意的是,由于我的系统是64位的。我的vcvars32.bat在C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin这个目录中。

使用时需要指定头文件路径:

C:\usr\local\ssl\include

库的路径:

C:\usr\local\ssl\lib

同时要把libeay32.dll和ssleay32.dll拷贝到lib目录下。

使用时要把上面两个dll跟可执行文件放在一起。

#pragma comment(lib, "ssleay32.lib")

#pragma comment(lib, "libeay32.lib")

二、编译libcurl

直接去下载最新的。https://curl.haxx.se/download.html

我下载的是这个curl-7.61.0

解压,之后进入\curl-7.61.0\projects\Windows\VC12,打开curl-all.sln。里面有两个工程

查windows是否安装openssl(分享vs2013配置支持https的libcurl一)(2)

图1

选择libcurl。配置选下面这个:

查windows是否安装openssl(分享vs2013配置支持https的libcurl一)(3)

图2

配置属性-》VC 目录-》包含目录 要指定openssl的头文件路径。

配置属性-》VC 目录-》库目录 要指定openssl的库目录。

然后直接编译就好了。

curl-7.61.0\build\Win32\VC12\DLL Release - DLL OpenSSL

这个目录下会生成 libcurl.lib libcurl.dll。这就大功告成了。

使用时的头文件路径是\curl-7.61.0\include。

三、测试

可以参考这个:https://curl.haxx.se/libcurl/c/https.html

下面上我的代码:

复制代码

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<curl/curl.h>

#include<iostream>

using namespace std;

#pragma comment(lib, "libcurl.lib")

#pragma comment(lib, "ssleay32.lib")

#pragma comment(lib, "libeay32.lib")

void test2()

{

curl_global_init(CURL_GLOBAL_DEFAULT);

CURL *curl;

CURLcode res;

curl = curl_easy_init();

if (curl)

{

/* First set the URL that is about to receive our POST. This URL can

just as well be a https:// URL if that is what should receive the

data. */

curl_easy_setopt(curl, CURLOPT_URL, "https://www.baidu.com");

curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);//忽略证书检查

curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);

/* Now specify the POST data */

curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=daniel&project=curl");

/* Perform the request, res will get the return code */

res = curl_easy_perform(curl);

if (res)

{

cout << "curl_easy_perform failed res = " << res << " ErrInfo:" << curl_easy_strerror(res) << endl;

}

else

{

cout << "curl_easy_perform success " << endl;

}

/* always cleanup */

curl_easy_cleanup(curl);

}

curl_global_cleanup();

}

int main()

{

test2();

getchar();

return 0;

}

复制代码

要配置curl的头文件路径和库路径,和openssl的库路径。

直接运行就好了。

四、总结

1)编译openssl比较费时间,这一步一定要做,不要想偷懒,按步骤一步一步来就好了。

2)运行curl测试程序时需要链接libcurl和openssl的那两个库。特别注意要把库放到程序运行目录中去。我最开始怀疑自己是不是没编译到包含openssl的libcurl。一直在库目录上折腾,没有放到运行目录中去,折腾了将近一天。

3)查看自己编译的libcurl是否支持https,可以编译curl-all.sln中的curl项目,配置一样,要选openssl的。然后会编译出一个curl.exe。然后打开系统自带的cmd.exe,切换到生成curl.exe的目录,把两个openssl的库拷贝进来。执行红色框两个命令。出现下面的结果就表示你成功了。

查windows是否安装openssl(分享vs2013配置支持https的libcurl一)(4)

图3

今天给大家带来的迷宫制作希望大家喜欢,有不懂的多多讨论。感谢大家在评论区多多评论。你觉得我们的文章对你有帮助,多多在文章下方评论。希望久伴可以伴随你从入门到专家.。

,