MSCBSC 移动通信论坛
搜索
登录注册
网络优化工程师招聘专栏 4G/LTE通信工程师最新职位列表 通信实习生/应届生招聘职位

  • 阅读:1141
  • 回复:0
C/C++云通讯短信接口 demo
运运
等待验证会员



 发短消息    关注Ta 

积分 35
帖子 7
威望 408 个
礼品券 0 个
专家指数 0
注册 2017-12-19
专业方向 
回答问题数 0
回答被采纳数 0
回答采纳率 0%
 
发表于 2018-01-31 18:31:41  只看楼主 

C/C++云通讯短信接口 demo:

正文:


#include <arpa/inet.h>
#include <assert.h>
#include <errno.h>
#include <netinet/in.h>
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <netdb.h>
#include <unistd.h>

#define SA struct sockaddr
#define MAXLINE 4096
#define MAXSUB  2000
#define MAXPARAM 2048

#define LISTENQ         1024


//
线上线下接口宏开关

#define ONLINE  


extern int h_errno;

int sockfd;



char *hostname = "123.59.105.84";
char *send_sms_uri = "/msg/send";
char *query_balance_uri = "/msg/balance";



/**
* *
http post请求
* */
ssize_t http_post(char *page, char *poststr)
{
    char sendline[MAXLINE + 1], recvline[MAXLINE + 1];
    ssize_t n;
        snprintf(sendline, MAXSUB,
                "POST %s HTTP/1.0 "
                "Host: sms.253.com "
                "Content-type: application/x-www-form-urlencoded "
                "Content-length: %zu "
                "%s", page, strlen(poststr), poststr);
    write(sockfd, sendline, strlen(sendline));
        printf(" %s", sendline);
        printf(" -------------------------- ");
    while ((n = read(sockfd, recvline, MAXLINE)) > 0) {
        recvline[n] = '';
        printf("%s ", recvline);
    }
    return n;
}

/**
* *
查账户余额
* */
ssize_t get_balance(char *un, char *pw)
{
    char params[MAXPARAM + 1];
    char *cp = params;

        sprintf(cp,"un=%s&pw=%s", un, pw);

    return http_post(query_balance_uri, cp);
}

/**
* *
发送短信
* */
ssize_t send_sms(char *un, char *pw, char *phone, char *msg)
{
    char params[MAXPARAM + 1];
    char *cp = params;

        sprintf(cp,"un=%s&pw=%s&phone=%s&msg=%s&rd=1", un, pw, phone, msg);    

    return http_post(send_sms_uri, cp);
}

int main(void)
{
    struct sockaddr_in servaddr;
    char str[50];

    //
建立socket连接
    sockfd = socket(AF_INET, SOCK_STREAM, 0);
    bzero(&servaddr, sizeof(servaddr));
    servaddr.sin_addr.s_addr = inet_addr(hostname);
    servaddr.sin_family = AF_INET;
    servaddr.sin_port = htons(80);
    inet_pton(AF_INET, str, &servaddr.sin_addr);
    connect(sockfd, (SA *) & servaddr, sizeof(servaddr));


        char *un = "
账号";
        char *pw = "
密码";
        char *phone = "
手机号";
        //
必须带签名
        char *msg = "
253云通讯】您的验证码是123400";

    //get_balance(un, pw);
    send_sms(un, pw, phone, msg);
    close(sockfd);
    exit(0);
}




扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 2、回复“ZGDX”免费领取《中国电信5G NTN技术白皮书
  • 3、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 4、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 5、回复“5GX3”免费领取《 R16 23501-g60 5G的系统架构1
  • 6、回复“iot6”免费领取《【8月30号登载】物联网创新技术与产业应用蓝皮书——物联网感知技术及系统应用
  • 7、回复“6G31”免费领取《基于云网融合的6G关键技术白皮书
  • 8、回复“IM6G”免费领取《6G典型场景和关键能力白皮书
  • 对本帖内容的看法? 我要点评

     
    [充值威望,立即自动到帐] [VIP贵宾权限+威望套餐] 另有大量优惠赠送活动,请光临充值中心
    充值拥有大量的威望和最高的下载权限,下载站内资料无忧

    快速回复主题    
    标题
    内容
     上传资料请点左侧【添加附件】

    当前时区 GMT+8, 现在时间是 2024-04-23 23:23:18
    渝ICP备11001752号  Copyright @ 2006-2016 mscbsc.com  本站统一服务邮箱:mscbsc@163.com

    Processed in 0.285744 second(s), 13 queries , Gzip enabled
    TOP
    清除 Cookies - 联系我们 - 移动通信网 - 移动通信论坛 - 通信招聘网 - Archiver