客户服务

curl下载编译

发布时间:2025.07.29


视频教程:https://www.bilibili.com/video/BV1LX4y197T1/?spm_id_from=333.337.search-card.all.click&vd_source=d27859c690023fcfbeb9a98d19695a3e

打开这个教程的网址去下载curl

https://blog.csdn.net/wcc27857285/article/details/86538804?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-5-86538804-blog-75505497.pc_relevant_recovery_v2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-5-86538804-blog-75505497.pc_relevant_recovery_v2&utm_relevant_index=10

下面是x86native里面输入的(vc对应自己vs版本up为vs2019    machine为自己项目中的x多少   项目中如果是release那debug就为no)   

nmake/f Makefile.vc mode=static VC=16 MACHINE=x86 DEBUG=yes

下面为内部属性配置(属性中应与外部一致例如外面是x86   debug那里面也应对应)

下面内容填入链接器->输入->附加依赖项( 项目中如果是release那就把libcurl_a_debug.lib改为libcurl_a.lib)

libcurl_a_debug.lib;Ws2_32.lib;Wldap32.lib;winmm.lib;Crypt32.lib;Normaliz.lib

下面内容填入C/C++–>预处理器–>预处理器定义

CURL_STATICLIB;_CRT_SECURE_NO_WARNINGS;BUILDING_LIBCURL;HTTP_ONLY;

C/C++–>常规->附加包含目录(以下为up的curl.h地址自己对应看一下自己的复制)

C:Users86157Desktopcurl-7.88.1uildslibcurl-vc16-x86-debug-static-ipv6-sspi-schannelincludecurl

链接器->常规->附加库目录(以下为up的libcurl_a_debug.lib地址自己对应看一下自己的复制)

C:Users86157Desktopcurl-7.88.1uildslibcurl-vc16-x86-debug-static-ipv6-sspi-schannellib

以下为up自己     代码(改一下apikey模板号和号码及相应模板就能够实现信息发送)

// ConsoleApplication3.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。

//

#include <stdio.h>

#include <curl.h>

#include <stdarg.h>

#include <stdlib.h>

#include <string.h>

//#include<stdafx.h>

#define bzero(a, b)             memset(a, 0, b)

#pragma warning(disable:4996)

#define MAXPARAM 2048

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

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

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

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

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

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

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

#pragma execution_character_set("utf-8")

CURL* curl;

CURLcode res;

/*

bingone

本样例依赖libcurl库

下载地址 https://curl.haxx.se/download.html

*/

// 修改为您的apikey(https://www.yunpian.com)登录官网后获取

//char* apikey = "xxxxxxxxxxxxxxxx";

char* apikey = (char*)"                               ";

// 修改为您要发送的手机号

char* mobile = (char*)"157070       ";

// 设置您要发送的内容

char* text = (char*)"【云片网】您的验证码是1234,5分钟内有效。";

// 指定发送的模板id

int tpl_id = 3569052;

// 指定发送模板内容

char* tpl_data[4] = { (char*)"#name#",(char*)"         ",(char*)"#code#",(char*)"              " };

// 发送语音验证码内容

int code = 1234;

// 获取user信息url

char* url_get_user = (char*)"https://sms.yunpian.com/v2/user/get.json";

// 智能模板发送短信url

char* url_send_sms = (char*)"https://sms.yunpian.com/v2/sms/single_send.json";

// 指定模板发送短信url

char* url_tpl_sms = (char*)"https://sms.yunpian.com/v2/sms/tpl_single_send.json";

// 发送语音验证码短信url

char* url_send_voice = (char*)"https://voice.yunpian.com/v2/voice/send.json";

void send_data(char* url, char* data)

{

    // specify the url

    curl_easy_setopt(curl, CURLOPT_URL, url);

    // specify the POST data

    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);

    // get response data

    curl_easy_perform(curl);

    printf(" ");

}

//查账户信息

void get_user(char* apikey)

{

    char params[MAXPARAM + 1];

    char* cp = params;

    sprintf(params, "apikey=%s", apikey);

    send_data(url_get_user, params);

}

// 使用智能匹配模板接口发短信

void send_sms(char* apikey, char* mobile, char* text)

{

    char params[MAXPARAM + 1];

    char* cp = params;

    sprintf(params, "apikey=%s&mobile=%s&text=%s", apikey, mobile, text);

    send_data(url_send_sms, params);

}

// 指定模板单发

void send_tpl_sms(char* apikey, char* mobile, int tpl_id, char* tpl_value)

{

    char params[MAXPARAM + 1];

    char* cp = params;

    sprintf(params, "apikey=%s&mobile=%s&tpl_id=%d&tpl_value=%s", apikey, mobile,

        tpl_id, tpl_value);

    send_data(url_tpl_sms, params);

}

//发送语音验证码

void send_voice(char* apikey, char* mobile, int code)

{

    char params[MAXPARAM + 1];

    char* cp = params;

    sprintf(params, "apikey=%s&mobile=%s&code=%d", apikey, mobile, code);

    send_data(url_send_voice, params);

}

int main(void)

{


    curl = curl_easy_init();

    mobile = curl_easy_escape(curl, mobile, strlen(mobile));

    if (NULL == curl) {

        perror("curl open fail ");

    }

    // 获取用户信息

    get_user(apikey);

    // 发送短信

    send_sms(apikey, mobile, text);

    // 发送语音验证码

    send_voice(apikey, mobile, code);


    char* tmp;

    char* tpl_value = (char*)malloc(sizeof(char) * 500);

    //bzero(tpl_value, sizeof(char) * 500);

    memset(tpl_value, 0, sizeof(char) * 500);

    // 模板短信发送需要编码两次,第一次URL编码转换

    int len = 0;

    tmp = curl_easy_escape(curl, tpl_data[0], strlen(tpl_data[0]));

    memcpy(tpl_value + len, tmp, strlen(tmp));

    len += strlen(tmp);

    tpl_value[len++] = '=';


    tmp = curl_easy_escape(curl, tpl_data[1], strlen(tpl_data[1]));

    memcpy(tpl_value + len, tmp, strlen(tmp));

    len += strlen(tmp);

    tpl_value[len++] = '&';


    tmp = curl_easy_escape(curl, tpl_data[2], strlen(tpl_data[2]));

    memcpy(tpl_value + len, tmp, strlen(tmp));

    len += strlen(tmp);

    tpl_value[len++] = '=';

    tmp = curl_easy_escape(curl, tpl_data[3], strlen(tpl_data[3]));

    memcpy(tpl_value + len, tmp, strlen(tmp));

    len += strlen(tmp);

    tmp = tpl_value;

    // 第二次URL编码

    tpl_value = curl_easy_escape(curl, tpl_value, strlen(tpl_value));

    send_tpl_sms(apikey, mobile, tpl_id, tpl_value);

    free(tmp);

    curl_easy_cleanup(curl);

    return 0;

}






上一篇:openssl下载编译

下一篇:没有了!

相关推荐

copyright©2010-2023深圳市点特科技有限公司 粤ICP备14069711号

尊敬的客户您好,请您留下您的需求和联系方式,我们将安排客服与您联系!

称呼

您的联系方式

您的公司名称