码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2019-06-12 10:35:02      阅读:663      评论:0      收藏:0      [点我收藏+]

标签:顺序   bool   har   返回   ade   closed   val   申请   一致性   

技术图片
  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方式

标签:顺序   bool   har   返回   ade   closed   val   申请   一致性   

原文地址:https://www.cnblogs.com/stupython/p/11008059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!