2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > C++对接验证码短信接口DEMO示例

C++对接验证码短信接口DEMO示例

时间:2021-03-15 17:37:20

相关推荐

C++对接验证码短信接口DEMO示例

C++对接验证码短信接口DEMO示例

本文为您提供了C++版本的验证码短信接口对接DEMO示例

//接口类型:互亿无线触发短信接口,支持发送验证码短信、订单通知短信等。// 账户注册:请通过该地址开通账户/?9vXc7 // 注意事项://(1)调试期间,请使用用系统默认的短信内容:您的验证码是:【变量】。请不要把验证码泄露给其他人。//(2)请使用 APIID 及 APIKEY来调用接口,可在会员中心获取;//(3)该代码仅供接入互亿无线短信接口参考使用,客户可根据实际需要自行编写;// 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 1024extern int h_errno;int basefd;char *hostname = "";char *send_sms_uri = "/webservice/sms.php?method=Submit&format=json";/*** 发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\r\n""Host: %s\r\n""Content-type: application/x-www-form-urlencoded\r\n""Content-length: %zu\r\n\r\n""%s", page, hostname, strlen(poststr), poststr);write(basefd, sendline, strlen(sendline));while ((n = read(basefd, recvline, MAXLINE)) > 0) {recvline[n] = '\0';printf("%s", recvline);}return n;}/*** 发送短信*/ssize_t send_sms(char *account, char *password, char *mobile, char *content){char params[MAXPARAM + 1];char *cp = params;sprintf(cp,"account=%s&password=%s&mobile=%s&content=%s", account, password, mobile, content);return http_post(send_sms_uri, cp);}int socked_connect(char *arg){struct sockaddr_in their_addr = {0}; char buf[1024] = {0}; char rbuf[1024] = {0}; char pass[128] = {0}; struct hostent *host = NULL; int sockfd = socket(AF_INET, SOCK_STREAM, 0);if(sockfd<0){printf ("create the sockfd is failed\n");return -1;}if((host = gethostbyname(arg))==NULL) { printf("Gethostname error, %s\n"); return -1; } memset(&their_addr, 0, sizeof(their_addr)); their_addr.sin_family = AF_INET; their_addr.sin_port = htons(80); their_addr.sin_addr = *((struct in_addr *)host->h_addr);if(connect(sockfd,(struct sockaddr *)&their_addr, sizeof(struct sockaddr)) < 0) { close(sockfd);return -1;} printf ("connect is success\n");return sockfd;}int main(void){struct sockaddr_in servaddr;char str[50];#if 0//建立socket连接sockfd = socket(AF_INET, SOCK_STREAM, 0);bzero(&servaddr, sizeof(servaddr));servaddr.sin_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));#endifif((basefd= socked_connect(hostname))==-1){printf("connect is failed\n");return -1;}printf("basefd is =%d\n",basefd);//查看用户名 登录用户中心->验证码通知短信>产品总览->API接口信息->APIIDchar *account = "用户名";//查看密码 登录用户中心->验证码通知短信>产品总览->API接口信息->APIKEYchar *password = "密码";//手机号char *mobile = "138xxxxxxxx";//短信内容char *message = "您的验证码是:1212。请不要把验证码泄露给其他人。";/**************** 发送短信 *****************/send_sms(account, password, mobile, message);printf("send the message is success\n");close(basefd);exit(0);}

如何注册互亿无线账号?

进入"注册页面",设置用户名、登陆密码、验证手机号即可完成注册。

Q2:验证手机,提示已被他人验证了怎么办?

遇到这种情况时,说明此号码已经被验证过了,可以通过以下方式解决:

1) 找回密码,重新登录该账户;

2) 更换手机号码重新注册;

3) 联系售前客服。

Q3:如何登录互亿无线账号?

进入"登陆页面",输入您注册时填写的账号密码信息。

Q4:忘记账号怎么办?

若您忘记账户,请联系互亿无线客服人员为您处理。

Q5:忘记密码怎么办?

进入"找回密码"页面,输入账号(ID/账号/手机号)进行找回。

Q6:如何修改登录密码?

登录互亿无线平台 – 个人中心 – 密码修改。

Q7:如何修改绑定手机号码?

登陆客户中心,“账号设置”→“安全设置”→“绑定手机”

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。