Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl(二、调用示例)

承接各类STM32项目、JAVA、C++、Android、微信、Linux,毕业设计开发
手机:18559979152(微信同号)

一、编译  Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl

二、调用示例  Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl

上篇讲了怎么编译curl,这篇讲怎么简单调用编译生成的curl库

一、新建VC工程

打开Visual Studio 2017 菜单->新建->新建项目

我选择的是MFC应用,如果只是测试,选择命令行应用也可以

Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl(二、调用示例)_第1张图片

下一步,应用程序类型->基于对话框,其它默认

Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl(二、调用示例)_第2张图片

下图是创建好工程的样子,可以先编译运行一下

Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl(二、调用示例)_第3张图片

二、导入头文件

先将上篇生成的库复制到此项目的文件夹中,如下图:

如果是项目工程有多个其它库包含的话,最好把这两个目录重命名一下,例如改成Curl_inc和Curl_lib(后面配置需要跟着改)

我只是测试,所以就不改名字了

Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl(二、调用示例)_第4张图片

三、工程配置

打开项目->属性页

1、配置选择Release,平台选择x64,这里的选择是因为上篇编译库时的配置参数是Release,x64,如要debug或x86,请根据上篇重新编译,这里选择对应配置。

2、把.h和lib包含到工程

选择左边VC++ 目录,在右边包含目录添加$(ProjectDir)\include;,库目录添加$(ProjectDir)\lib,$(ProjectDir)是项目目录的变量,在这个项目的值就是:,这样即使移动工程到不同文件夹也不会受影响

Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl(二、调用示例)_第5张图片

3、本项目静态编译,所以需要将CURL_STATICLIB添加至工程。选择C/C++->预处理器->预处理器定义:添加CURL_STATICLIB

Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl(二、调用示例)_第6张图片

4、添加其它需要的库

链接器->输入->附加依赖项:添加libcurl_a.lib;Ws2_32.lib;Wldap32.lib;winmm.lib;Crypt32.lib;Normaliz.lib;

Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl(二、调用示例)_第7张图片

四、测试运行

1、添加curl头文件

Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl(二、调用示例)_第8张图片

2、添加简单示例代码进行测试

在OnInitDialog()中添加代码

Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl(二、调用示例)_第9张图片

    // TODO: 在此添加额外的初始化代码
    printf("test printf %s\r\n", "abc123");

    CURL *curl = nullptr;
    CURLcode res;
    curl = curl_easy_init();
    if (curl != nullptr) {
        curl_easy_setopt(curl, CURLOPT_URL, "http://www.baidu.com");
        /* example.com is redirected, so we tell libcurl to follow redirection */
        curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
        /* 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);
    }
编译运行后如下图,请求的是我们公司网关固件更新信息API,也可以直接请求百度,CSDN等网址来测试

关于MFC调用CMD命令行窗口打印输出请查看我的另一篇文章

Visual Studio 2017 VC项目设置 printf 输出到 Console 窗口调试

Curl官网还准备了其它不同的应用示例,大家可以去下载查看

https://curl.haxx.se/libcurl/c/example.html

Visual Studio(VS2017)编译并使用curl C/C++ HTTP GET POST libcurl(二、调用示例)_第10张图片

你可能感兴趣的:(VC,VC++,C++,MFC,控件)