您的位置:首頁 >  接口中心 > 短信接口DEMO-C(C++)
  短信接口DEMO-C(C++)
 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

#include 

//#include 


#define SA struct sockaddr

#define MAXLINE 4096

#define MAXSUB  2000

#define MAXPARAM 2048


#define LISTENQ         1024


//線上線下接口宏開關(guān)


#define ONLINE  


extern int h_errno;


int sockfd;


char *hostname = "";//請(qǐng)求地址請(qǐng)參考云通訊自助通平臺(tái)查看或者詢問您的商務(wù)負(fù)責(zé)人獲取

char *send_sms_uri = "/msg/send/json";

char *query_balance_uri = "/msg/balance/json";


/**

 * * 發(fā)http post請(qǐng)求

 * */

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.1 "

        "Host: vsms.253.com "

        "Content-type: application/json "

        "Content-length: %zu "

        "%s", page, strlen(poststr), poststr);

        //, page, 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 *account, char *password)

{

    char params[MAXPARAM + 1];

    char *cp = params;


    sprintf(cp,"account=%s&password=%s", account, password);


    return http_post(query_balance_uri, cp);

}


/**

 * * 發(fā)送短信

 * */

ssize_t send_sms(char *account, char *password, char *phone, char *msg)

{

    char params[MAXPARAM + 1];

    char *cp = params;


    sprintf(cp,"{"account":"%s","password":"%s","phone":"%s","msg":"%s","report":"false"}", account, password, 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 *account = "";

    char *password = "a.123456987";

    char *phone = "18712345678";

    //必須帶簽名

    char *msg = "【云通訊】您的驗(yàn)證碼是123400";


    //get_balance(account, password);

    send_sms(account, password, phone, msg);

    close(sockfd);

    exit(0);

}


免费视频观无码一区,国内精品一区二区无码,99精品无码视频在线播放,ā片国产在线播放