C# 调用移动MAS接口发送普通短信WebClient方式

Posted stupython

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 调用移动MAS接口发送普通短信WebClient方式相关的知识,希望对你有一定的参考价值。

技术图片
  public string PostMAS(string mobiles)
        
            
            
            string str = myContent.ecName + myContent.apId + myContent.secretKey + mobiles + myContent.content + myContent.sign + myContent.addSerial;
            myContent.mac = GetStrMD5_32(str);
            myContent.mobiles = mobiles;

            string strJson = JsonConvert.SerializeObject(myContent);

            string  _data = EncryptBase64(strJson);
            WebClient webClient = new WebClient();
            webClient.Headers.Add("Content-Type", "application/json;charset=UTF-8");
            webClient.Headers.Add(HttpRequestHeader.Accept, "*/*");
            webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
            byte[] responseBytes = webClient.UploadData(baseUrl,"POST",System.Text.Encoding.UTF8.GetBytes(_data));

            return System.Text.Encoding.UTF8.GetString(responseBytes);
            

           

        
View Code
技术图片
public string GetStrMD5_32(string str)
        
            MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
            string Md5Str = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(str)));
            Md5Str = Md5Str.Replace("-","");
            return Md5Str.ToLower();
        
View Code 取MD5值
技术图片
 public string EncryptBase64(string source)
        
            byte[] bytes = Encoding.Default.GetBytes(source);
            return Convert.ToBase64String(bytes);
        
base64 加密

接口参数要求及返回值

参数名称

数据类型

说明

ecName

string

集团客户名称

apId

string

用户名

secretKey

string

密码

templateId

string

模版ID,模板由用户在中国移动集团提供的客户业务平台上,由客户自己增加短信模版的信息。

mobiles

string

手机号码逗号分隔。

(如“18137282928,18137282922,18137282923”)

params

String

["参数一","参数二"] 格式

sign

string

网关签名编码,必填,签名编码在中国移动集团开通帐号后分配,可以在云MAS网页端管理子系统-SMS接口管理功能中下载。

addSerial

string

扩展码,根据向移动公司申请的通道填写,如果申请的精确匹配通道,则填写空字符串(""),否则添加移动公司允许的扩展码

mac

string

API输入参数签名结果,签名算法:将ecName,apId,secretKeytemplateId,mobiles,paramssign,addSerial按照顺序拼接,然后通过md5(32位小写)计算后得出的值

 

 

 

响应参数

数据类型

描述

rspcod

string

响应码(根据下面返回值判断)

msgGroup

string

消息批次号,由云MAS平台生成,用于验证短信提交报告和状态报告的一致性(取值msgGroup)注:如果数据验证不通过msgGroup为空

success

boolean

true,false

 

返回值

描述

IllegalMac

无效mac

InvalidMessage

非法消息

InvalidUsrOrPwd

非法用户名或密码

NoSignId

未找到签名

IllegalSignId

无效的签名

success

成功

TooManyMobiles

手机号超出最大上限(5000)

 

以上是关于C# 调用移动MAS接口发送普通短信WebClient方式的主要内容,如果未能解决你的问题,请参考以下文章

移动MAS短信平台发送短信

python 调用接口发短信

Springboot 整合 中国移动MAS HTTP1.0 实现短信发送服务

Java对接云MAS发送短信验证码(HTTPS方式)

1背景介绍及移动云MAS平台 --短信平台

发短信的简单实现——C#版