Libcurl Windows 下的编译及使用-支持HTTPS

这篇具有很好参考价值的文章主要介绍了Libcurl Windows 下的编译及使用-支持HTTPS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

笔者在产品开发过程中需要用到https通讯,移植libcurl中遇到很多问题,经过搜索和实践总结一个行之有效的方案,特总结系统对大家有所帮助

1. 环境搭建:

libcurl: curl - Download

VS: Visual Studio 2022, 并安装好本地开发的C++, MFC桌面开发SDK

2. LIB库编译

打开VS2022命令行工具,注意这里的版本是17,进入到libcurl目录

Libcurl Windows 下的编译及使用-支持HTTPS

 分辨执行命令:

//编译为静态链接库

set RTLIBCFG=static

//以下俩个分辨编译为debug,release模式

nmake /f Makefile.vc mode=static vc=17 debug=yes

nmake /f Makefile.vc mode=static vc=17 debug=no

经过一段时间,在libcurl/build目录下已经生成我们需要的库文件及相关头文件,其中红色部分为主要目录,其它目录都可以删除

Libcurl Windows 下的编译及使用-支持HTTPS 打开"libcurl-vc17-x86-debug-static-ipv6-sspi-schannel",可以看到如下目录

Libcurl Windows 下的编译及使用-支持HTTPS至此,编译库文件算是完成了。

3. 测试DEMO

新建Windows Console工程,将刚才生成的"include","lib"拷贝工程源码目录中,修改源码

//在include "pch.h"之后增加

#define CURL_STATICLIB

//增加libcurl库的引用
#include "curl/curl.h"

 //增加所必须库
#pragma comment (lib, "Normaliz.lib")
#pragma comment (lib, "Ws2_32.lib")
#pragma comment (lib, "Wldap32.lib")
#pragma comment (lib, "Crypt32.lib")
#pragma comment (lib, "Advapi32.lib")

#pragma comment (lib, "lib/libcurl_a_debug.lib")

 测试代码如下:

int testPost(void)
{
    CURL* curl;
    CURLcode res;

    /* In windows, this will init the winsock stuff */
    curl_global_init(CURL_GLOBAL_ALL);

    /* get a curl handle */
    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://curl.se/libcurl/c/http-post.html");
        /* Now specify the POST data */
        //curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=daniel&project=curl");
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);

        /* Perform the request, res will get the return code */
        res = curl_easy_perform(curl);
        /* Check for errors */
        if (res != CURLE_OK)
            fprintf(stderr, "curl_easy_perform() failed: %s\n",
                curl_easy_strerror(res));

        /* always cleanup */
        curl_easy_cleanup(curl);
    }
    curl_global_cleanup();
    return 0;
}

 文章来源地址https://www.toymoban.com/news/detail-445705.html

到了这里,关于Libcurl Windows 下的编译及使用-支持HTTPS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux编译curl库(支持https)

    openssl下载和编译 https://www.openssl.org/source/old/ 解压 配置 如果是编译静态库加入 -fPIC no-shared 如果指定安装路径,使用 --prefix=/usr/local/openssl/ 选项指定特定目录 编译和安装 curl下载和编译 https://curl.se/download.html 解压 配置 如果想要编译静态库,加入 --disable-shared 选项 如果需要指

    2024年02月09日
    浏览(42)
  • libcurl:https认证控制参数简介

    目录 1 背景 2 curl命令 3 libcurl 控制参数 4 双向认证 5 参考文档         在使用浏览器访问https链接时,浏览器会自动请求网站的安全证书,并进行证书校验,以及(使用证书)参与后续的通道加密逻辑。         而使用curl(不管是curl.exe命令行工具,还是使用libcurl库)

    2024年02月16日
    浏览(40)
  • 【小沐学C++】libcurl实现HTTP/HTTPS请求

    https://github.com/curl/curl https://curl.se/libcurl/ https://curl.se/download.html libcurl 是一个免费且易于使用的客户端 URL 传输 库,支持DICT,FILE,FTP,FTPS,GOPHER,GOPHERS,HTTP,HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POPP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB、SMBS、SMTP、SMTPS、TELNET 和 T

    2024年02月15日
    浏览(51)
  • DltView在Windows下的编译(QT5.12.4+VS2015)

    1.环境准备 本人以Windows7_X64为例: DltView: V2.20.0  下载地址:Releases · COVESA/dlt-viewer · GitHub Vs2015我下载的是第一个: vs 2015 各版本下载地址_qq_41871314的博客-CSDN博客   QT5.12.4 我下载的是Windows-X86: Index of /official_releases/qt/5.12/5.12.4 Windows SDK(我选第一种在线安装): Windows SDK -

    2024年02月05日
    浏览(56)
  • 详解C++开源网络传输库libcurl的编译过程

    目录 1、引言 2、直接编译libcurl工程,提示找不到ssh.h 3、下载并编译libssh2开源代码,部署到libcurl目录中

    2024年02月12日
    浏览(39)
  • aarch64-linux交叉编译libcurl带zlib和openssl

    交叉编译libcurl需要依赖zlib和openssl 需要先用aarch64工具链编译zlib和openssl gcc用于执行交叉编译 gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu sysroot是交叉版本的库文件集合 sysroot-glibc-linaro-2.25-2019.12-aarch64-linux-gnu 解压在同一个文件夹下 配置 .cmake 工具链文件 aarch64-linux-gnueabi.toolchain.c

    2024年02月10日
    浏览(49)
  • cURL error 1: Protocol “https“ not supported or disabled in libcurl

    1、php项目composer update报错 2、curl -V检查 发现curl已经支持了https了 3、php版本检查 4、php插件检查 插件也已经含有openssl组件了 5、phpinfo检查 curl是否开启ssl 定位到问题所在,php7.4的 curl扩展不支持 https 需要重装 php7.4的curl扩展 6、curl下载 下载curl:https://curl.se/download.html 我下载

    2024年02月15日
    浏览(60)
  • windows运行WPscan报错:无法打开库libcurl.dll

    弱密码可能很短或仅使用字母数字字符,让解密变得简单。弱密码也可以是容易的密码由分析用户的人猜测,例如生日、昵称、地址、 宠物或亲戚的名字,或常用词,如上帝、爱、金钱或密码 这就是CUPP诞生的原因,根据你对受害者的了解 (姓名、日期等)生成密码 Github - Cu

    2024年02月14日
    浏览(35)
  • 64、ubuntu20.04安装Postman测试http通信和测试其libcurl支持http客户端发送request

    基本思想:需要使用http协议完成业务需求,需要测试一下,所以学习一下想关的应用实践 一、下载Postman Postman 帐号某宝解决,也可以试用30天 二、固定postman到任务栏图标 添加内容  再次设置一下图标。使用下列命令打开Postman然后用十字光标点击一下postman工具,显示下列字

    2023年04月08日
    浏览(52)
  • 使用docker部署nginx并支持https

    配置nginx支持https,其实也简单,搞个证书,然后修改下配置文件就好了。我以前一篇文章(使用docker部署多个nginx站点并配置负载均衡)为例,做个记录。 如前所述,我使用docker,部署了3个nginx。一个做负载均衡服务器,另外两个做应用。结构如下: 那么,支持https,也是在

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包