一、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\r\n"

"Host: sms.253.com\r\n"

"Content-type: application/x-www-form-urlencoded\r\n"

"Content-length: %zu\r\n\r\n"

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

write(sockfd, sendline, strlen(sendline));

printf("\n%s", sendline);

printf("\n--------------------------\n");

while ((n = read(sockfd, recvline, MAXLINE)) > 0) {

recvline[n] = '\0';

printf("%s\n", 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);

}

二、创蓝253云通讯 paas 短信发送接口和定义说明

用户在遵循HTTP或者HTTPS协议的前提下,可通过GET和POST方式提交短信发送请求。

(1)短信提交地址:

短信可以提交不超过50000个手机号码,每个号码用英文逗号间隔。(一次提交发送超过200个手机号码,请使用POST请求)

URL地址为:

http://sms.253.com/msg/send

或   https://sms.253.com/msg/send(安全)

(2) 参数定义:

序号 参数 说明

1 un 必填参数。用户账号

2 pw 必填参数。用户密码

3 phone 必填参数。合法的手机号码,号码间用英文逗号分隔

4 msg 必填参数。短信内容,短信内容长度不能超过536个字符。使用URL方式编码为UTF-8格式。短信内容超过70个字符(企信通是60个字符)时,会被拆分成多条,然后以长短信的格式发送。

5 rd 必填参数。是否需要状态报告,0表示不需要,1表示需要

6 ex 可选参数,扩展码,用户定义扩展码,扩展码的长度将直接影响短信上行接收的接收。固需要传扩展码参数时,请提前咨询客服相关设置问题。

(3)短信提交响应:

用户短信通过http请求提交到服务器后,服务器返回响应码,响应码的格式如下:

响应时间,提交状态

messageid

A、格式说明:

短信提交响应分为两行,第一行为响应时间和提交状态,第二行为服务器给出提交messageid。无论发送的号码是多少,一个发送请求只返回一个messageid,如果响应的状态不是“0”,则没有messageid即第二行数据。(每行以换行符(0x0a,即\n)分割)

B、示例:

(4)提交成功

20161025170822,0

16102517082223817

响应时间为20161025170822,响应状态为0 表明那个成功提交到服务器;16102517082223817为返回的messageid,这个供状态报告匹配时使用。

Ø

20161025170822,101

提交失败

本示例表明用户提交失败,返回错误码为101,服务器端并未返回messageid。

C、响应状态值说明:

代码 说明

0 提交成功

101 无此用户

102 密码错

103 提交过快(提交速度超过流速限制)

104 系统忙(因平台侧原因,暂时无法处理提交的短信)

105 敏感短信(短信内容包含敏感词)

106 消息长度错(>536或<=0)

107 包含错误的手机号码

108

手机号码个数错(群发>50000或<=0)

109 无发送额度(该用户可用短信数已使用完)

110 不在发送时间内

113 extno格式错(非数字或者长度不对)

116 签名不合法或未带签名(用户必须带签名的前提下)

117 IP地址认证错,请求调用的IP地址不是系统登记的IP地址

118 用户没有相应的发送权限(账号被禁止发送)

119 用户已过期

120 违反放盗用策略(日发限制) --自定义添加

121 必填参数。是否需要状态报告,取值true或false

122 5分钟内相同账号提交相同

消息内容过多

123 发送类型错误

124 白模板匹配错误

125 匹配驳回模板,提交失败

126 审核通过模板匹配错误

128 内容解码失败,内容要保证utf-8格式的编码(例如%#+之类的特殊字符要urlencode编码)

(4)注意事项:

用户群发短信如果有审核的限制,则客户的短信必须经过管理人员的审核,审核通过后才能被提交到网关进行短信实际发送。

用户群发短信必须满足手机号码最低个数的限制,低于系统设定的群发最小手机号码数,则该提交请求会被拒绝,响应码为108。

(5)短信发送例子:【创蓝253云通讯】欢迎体验创蓝253云通讯产品,验证码是253253

http://sms.253.com/msg/send?un=N253253&pw=Bdewx3675f&phone=13482416860&msg=【创蓝253云通讯】欢迎体验创蓝253云通讯产品,验证码是253253&rd=1

创蓝253云通讯 paas 短信发送接口和定义说明相关推荐

  1. Python---短信接口demo,对接创蓝253云通讯paas平台

    #!/usr/local/bin/python #-*- coding:utf-8 -*- # Author: jacky # Time: 14-2-22 下午11:48 # Desc: 短信http ...

  2. 创蓝253云通讯paas平台PHP短信接口demo分享

    demo: <?php header("Content-type:text/html; charset=UTF-8"); class ChuanglanSmsApi { // ...

  3. 【PHP】创蓝253云通讯paas平台短信验证码接口调用emo

    <?php header("Content-type:text/html; charset=UTF-8"); class ChuanglanSmsApi { //发送短信的接 ...

  4. 创蓝253云通讯短信平台变量说明

    创蓝253云通讯变量说明文档 变量短信发送 用户通过HTTP的POST方式提交短信发送请求. 系统提交URL地址 http://sms.253.com/msg/HttpVarSM 参数定义 序号 参数 ...

  5. django框架中嵌入容联云sdk实现短信发送接口

    1.注册容联云账号,主要是为了获取如下参数 添加测试手机号 2.关于sdk和用法可参考Demo示例,demo下载在最上面Demo下载 3.在自己的项目中导入需用到的模块 4.更改配置为自己申请的应用配 ...

  6. 【Python】创蓝253云通讯平台---国际短信API接口demo

    #!/usr/local/bin/python #-*- coding:utf-8 -*- # Author: jacky # Time: 14-2-22 下午11:48 # Desc: 短信http ...

  7. 【Python】创蓝253云通讯平台国际短信API接口DEMO

    #!/usr/local/bin/python #-*- coding:utf-8 -*- # Author: jacky # Time: 14-2-22 下午11:48 # Desc: 短信http ...

  8. APP、网站等注册、登录、改密等发送验证码短信的接入流程---创蓝253云通讯

    1.登录 https://zz.253.com/site/login.html 2.获取接口API账号,密码:选择任意产品>激活>企业认证(上传公司营业执照) 3.申请签名(以公司简称或缩 ...

  9. 短信验证码、短信服务商接口---PHP---对接创蓝253云通讯平台

    <?php header("Content-type:text/html; charset=UTF-8"); class ChuanglanSmsApi { //发送短信的接 ...

最新文章

  1. 未找到beta版怎么解决_刚刚,谷歌正式发布Android 11 Beta版,带来多项重磅更新...
  2. 实战Gradle——第一部分 Gradle介绍
  3. UITextView中的占位符
  4. NOI2014 动物园
  5. juqery代码优化
  6. python现有两个磁盘文件a和b_有两个磁盘文件A和B,各存放一行字母,今要求把这两个文件中的信息合并,输出到一个新文件C中。...
  7. iKcamp团队制作|基于Koa2搭建Node.js实战(含视频)☞ 中间件用法
  8. [C++11] 右值引用和移动语义
  9. uwsgi模式_uWSGI / Pylons的开发模式(重新加载新代码)
  10. Android Textview实现文字颜色渐变效果
  11. silverlight将字符串转化为控件
  12. java 动画 制作_DragonBones简单动画制作实例
  13. 方舟服务器伤害怎么显示,方舟单机模式下怎么显示伤害数值啊 | 手游网游页游攻略大全...
  14. Chrome浏览器设置 【显示右上角 翻译语言图标】
  15. 速度最快的数据库---MEMSQL的安装与部署
  16. ppt怎么把图片做成翻书效果_PPT怎么制作翻书效果?PPT制作翻书效果教程
  17. pickle.PicklingError: Can't pickle function lambda
  18. 关于Scanner.nextLine()问题的解决方案
  19. mysql 提现_第四站——网贷平台数据分析(MySQL篇)
  20. linux下mysql定时备份命令

热门文章

  1. DELETE * FROM和DELETE FROM的区别
  2. 40行Python代码,实现卷积特征可视化
  3. ztree通过ajax获取json并勾选checkbook
  4. 多个PDF文件合并方法
  5. 2024年上海美博会-上海浦东美博会(上海CBE)
  6. 设计模式之禅【门面模式】
  7. 《莎士比亚》文本生成
  8. WordPress给博客文章页添加个性名片
  9. 小程序源码:炫酷恶趣制作神器-多玩法安装简单
  10. pixel 3 变焦_D3变焦—缺少的手册