移动MAS短信平台发送短信
MAS短信平台发送短信分为两种方式
一、sdk调用
using mas.ecloud.sdkclient;
using System; namespace 短信发送
{
class Program
{
private static Client client = Client.instance;
static void Main(string[] args)
{
string url = "";//身份认证地址,向客户经理获取。
string apId = "";//账号
string secretKey = "";//密码
string ecName = ""; //集团名称
string sign = ""; //网关签名编码
string mobiles = "";//电话号码
string content = "测试短信发送";//短信内容
bool loginResult = client.login(url, apId, secretKey, ecName);
Console.WriteLine("登录结果:" + loginResult);
if (loginResult)
{
// 发送短信
int sendResult = client.sendDSMS(new string[] { mobiles }, content, "", , sign, Guid.NewGuid().ToString());
Console.WriteLine("发送结果:" + sendResult); }
}
}
}
二、http调用
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks; namespace 短信发送
{
public class SMSUtils
{
private static String apId = "";//用户名
private static String secretKey = "";//密码
private static String ecName = ""; //集团名称
private static String sign = ""; //网关签名编码
private static String addSerial = ""; //拓展码 填空
public static String url = "http://112.35.1.155:1992/sms/norsubmit";//请求urlhttp://112.35.1.155:1992/sms/norsubmit
private static String mobiles = "";//电话号码(多个电话号码用逗号隔开)
private static String content = "测试短信发送";//短信内容
public SMSUtils()
{ }
public void SendMessage()
{
SendReq sendReq = new SendReq();
sendReq.apId = apId;
sendReq.ecName = ecName;
sendReq.secretKey = secretKey;
sendReq.content = content;
sendReq.mobiles = mobiles;
sendReq.addSerial = addSerial;
sendReq.sign = sign;
sendReq.mac = UserMd5(sendReq.ecName + sendReq.apId + sendReq.secretKey + sendReq.mobiles + sendReq.content + sendReq.sign);
var reqText = JsonConvert.SerializeObject(sendReq);
string encode = Convert.ToBase64String(Encoding.UTF8.GetBytes(reqText));
sendPost(url, encode); }
#region MyRegion
private static void sendPost(string url, string param)
{ //创建HttpClient(注意传入HttpClientHandler)
var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
using (var http = new HttpClient(handler))
{
var content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(param), Encoding.UTF8, "application/json");
var response = http.PostAsync(url, content).Result;//传参使用
response.EnsureSuccessStatusCode(); //确保HTTP成功状态值R
//await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
var result = response.Content.ReadAsStringAsync().Result;
var json = JsonConvert.DeserializeObject<SendRes>(result);
bool success = json.success;
}
} #endregion
//MD5加密
public string UserMd5(string str)
{
string cl = str;
string pwd = "";
MD5 md5 = MD5.Create();//实例化一个md5对像
// 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择
byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for (int i = ; i < s.Length; i++)
{
// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
pwd = pwd + s[i].ToString("x2");
}
return pwd;
} } /**
* 发送短信请求实体
*/
public class SendReq
{
public string ecName { get; set; } //集团客户名称
public string apId { get; set; } //用户名
public string secretKey { get; set; } //密码
public string mobiles { get; set; } //手机号码逗号分隔。(如“18137282928,18137282922,18137282923”)
public string content { get; set; } //发送短信内容
public string sign { get; set; } //网关签名编码,必填,签名编码在中国移动集团开通帐号后分配,可以在云MAS网页端管理子系统-SMS接口管理功能中下载。
public string addSerial { get; set; } //扩展码,根据向移动公司申请的通道填写,如果申请的精确匹配通道,则填写空字符串(""),否则添加移动公司允许的扩展码。
public string mac { get; set; } //API输入参数签名结果,签名算法:将ecName,apId,secretKey,mobiles,content ,sign,addSerial按照顺序拼接,然后通过md5(32位小写)计算后得出的值。
} /**
* 发送短信响应实体
*/
public class SendRes
{
public string rspcod { get; set; } //响应状态码
public string msgGroup { get; set; } //消息批次号,由云MAS平台生成,用于验证短信提交报告和状态报告的一致性(取值msgGroup)注:如果数据验证不通过msgGroup为空
public bool success { get; set; } //数据校验结果
} }
移动MAS短信平台发送短信的更多相关文章
- java中用中国网建提供的SMS短信平台发送短信
接下来的项目需求中提到需要短信发送功能,以前没有做过,因此便在网上搜了一下.大体上说的都是有三种方法,分别是sina提供的webservice接口.短信mao和中国网建提供的SMS短信平台. 这三种方 ...
- 国都企信通短信平台发送手机短信的python脚本一例
一年前,由于工作需要,给以色列的同事解释一下国都短信平台的短信发送格式,本来不懂python的我硬着头皮写了一个sample,比较粗,能用,但不优美,希望以后学会python能改得像我同事写的那么优雅 ...
- .NET 微信开放平台接口(接收短信、发送短信)
.NET 微信开放平台接口(接收短信.发送短信) 前两天做个项目用到了微信api功能.项目完成后经过整理封装如下微信操作类. 以下功能的实现需要开发者已有微信的公众平台账号,并且开发模式已开启.接口配 ...
- Linux系统中调用短信猫发送短信(笔记)
1, 拷贝底层串口依赖的librxtxSerial.so到JDK安装路径cp librxtxSerial.so /usr/java/{0}/jre/lib/{1} # {0}: JDK的基础目录,例如 ...
- java 短信猫发送短信的方法
用java实现短信收发的功能,目前一般项目中短信群发功能的实现方法大致有下面三种: · 1. 向运行商申请短信网关,不需要额外的设备,利用运行商提供的API调用程序发送 ...
- 阿里云短信服务发送短信验证码(JAVA开发此功能)
开发此功能需注册阿里云账号,并开通短信服务(免费开通) 充值后,不会影响业务的正常使用!(因为发送验证类短信:1-10万范围的短信是0.045元/条).开发测试使用,充2块钱测试足够了 可参考阿里云官 ...
- 使用短信猫发送短信java代码
短信猫简单配置:https://www.cnblogs.com/Big-Boss/p/9699880.html 发送短信: package utils; import org.smslib.AGate ...
- Android 节日短信送祝福(UI篇:3-选择短信与发送短信的Activity的实现)
一.ChooseMsgActivity的实现 1.布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/ ...
- 使用阿里大于平台发送短信验证码java代码实现
待续..网站app后台还未完成,不能添加签名,短信不能正常发送. Tip: https://help.aliyun.com/document_detail/55284.html?spm=5176.sm ...
随机推荐
- 【快学SpringBoot】过滤XSS脚本攻击(包括json格式)
若图片查看异常,请前往掘金查看:https://juejin.im/post/5d079e555188251ad81a28d9 XSS攻击是什么 XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cas ...
- Dubbo+zookeeper部署到tomcat上注意事项,遇到的问题,闪退,运行报错等
需要下载工具zookeeper-3.4.14.tar.gz,dubbo-2.5.x.zip,apache-tomcat-8.5.47-windows-x64.zip这些官网都可以先下载到 1.最新的z ...
- java并发初探CountDownLatch
java并发初探CountDownLatch CountDownLatch是同步工具类能够允许一个或者多个线程等待直到其他线程完成操作. 当前前程A调用CountDownLatch的await方法进入 ...
- Red_Hat yum源配置
http://www.linuxidc.com/Linux/2016-06/132171.htm
- H.264 SODB RBSP EBSP的区别
SODB(String of Data Bits,数据比特串): 最原始,未经过处理的编码数据 RBSP(Raw Byte Sequence Payload,原始字节序列载荷): 在SODB的后面填加 ...
- Python 的 os 与 sys 模块
os与sys模块的官方解释如下: os: This module provides a portable way of using operating system dependent functio ...
- Lesson 48 Planning a share portfolio
How does the older investor differ in his approach to investment from the younger investor? There is ...
- mysql 索引优化法则
建表语句 CREATE TABLE staffs( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR (24) NOT NULL DEFAULT '' C ...
- 吴裕雄--天生自然JAVA数据库编程:JDBC操作步骤及数据库连接操作
public class ConnectionDemo01{ // 定义MySQL的数据库驱动程序 public static final String DBDRIVER = "org.gj ...
- JuJu团队1月9号工作汇报
JuJu团队1月9号工作汇报 JuJu Scrum 团队成员 今日工作 剩余任务 困难 飞飞 将示例程序打包成exe 将crossentrophy和softmax连接起来 无 婷婷 -- 完善ma ...