Fork me on GitHub

.net 移动mas短信接口开发

接口文档下载

 

 

 

1.移动后台接入用户新增(选择HTTP协议)

 

 

 2.后台代码

 

/// <summary>
    /// 用户名
    /// </summary>
    private readonly static string UserName = ConfigurationManager.AppSettings["SmsUserName"];
    /// <summary>
    /// 密码
    /// </summary>
    private readonly static string UserPwd = ConfigurationManager.AppSettings["SmsUserPwd"];
    /// <summary>
    /// 企业名称
    /// </summary>
    private readonly static string EcName = ConfigurationManager.AppSettings["SmsEcName"];
    /// <summary>
    /// 签名
    /// </summary>
    private readonly static string Signature = ConfigurationManager.AppSettings["SmsSign"];

public static MessageRes Send(string mobiles, string content)
    {
        JObject obj = new JObject();
        var addSerial = "";//可以随便写,三位数
        obj.Add("ecName", new JValue(EcName));
        obj.Add("apId", new JValue(UserName));
        obj.Add("secretKey", new JValue(UserPwd));
        obj.Add("mobiles", new JValue(mobiles));
        obj.Add("content", new JValue(content));
        obj.Add("sign", new JValue(Signature));
        obj.Add("addSerial", new JValue(addSerial));
        var mac = EcName + UserName + UserPwd + mobiles + content + Signature + addSerial;
        var mac1 = UserMd5(mac);//要进行32位MD5加密
        var length = mac1.Length;
        obj.Add("mAC", new JValue(mac1));
        string paras = obj.ToString();
        var jiami = Base64Code(paras);//传参数前要进行64位加密
        System.Net.WebClient pWebClient = new System.Net.WebClient();
        pWebClient.Headers.Add("Content-Type", "application/json;charset=UTF-8"); //charset=UTF-8
        pWebClient.Headers.Add(HttpRequestHeader.Accept, "*/*");
        pWebClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
        byte[] returnBytes = pWebClient.UploadData("http://112.35.1.155:1992/sms/norsubmit", "POST", System.Text.Encoding.UTF8.GetBytes(jiami));

 

        var temp = System.Text.Encoding.UTF8.GetString(returnBytes);
        return JsonConvert.DeserializeObject<MessageRes>(temp);
    }

 


    /// <summary>
    /// Base64加密 
    /// </summary>
    /// <param name="Message"></param>
    /// <returns></returns>
    public static string Base64Code(string Message)
    {
        byte[] bytes = Encoding.UTF8.GetBytes(Message);//这里要注意不是Default 因为Default默认GB2312
        return Convert.ToBase64String(bytes);
    }

 

    /// <summary>
    /// Md5 加密
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    public static 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 = 0; i < s.Length; i++)
        {
            // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符 
            pwd = pwd + s[i].ToString("x2");
        }
        return pwd;
    }

 

    public class MessageRes
    {
        public string msgGroup { get; set; }
        public string rspcod { get; set; }
        public bool success { get; set; }
    }

 

 

参考地址:https://www.136.la/net/show-22990.html

posted @ 2022-03-24 13:48  WantRemake  阅读(179)  评论(0编辑  收藏  举报