• 移动 云MAS 发短信 .net HTTP 请求


    本人开发移动云MAS .net Http 请求  代码如下

      1 using Newtonsoft.Json.Linq;
      2 using System;
      3 using System.Collections.Generic;
      4 using System.Linq;
      5 using System.Net;
      6 using System.Security.Cryptography;
      7 using System.Text;
      8 using System.Threading.Tasks;
      9 
     10 namespace MessageSendProj
     11 {
     12 class Program
     13 {
     14 static void Main(string[] args)
     15 {
     16 //发送信息快捷键
     17 Console.WriteLine(SendMsg());
     18 Console.ReadLine();
     19 
     20 }
     21 
     22 public static string SendMsg()
     23 {
     24 
     25 JObject obj = new JObject();
     26 var ecName = "企业名称";//企业名称
     27 var apId = "mayun";//注意: 此处不是MAS云网站的用户名,这个要在管理里面新建用户密码,如图下1,
     28 var secretKey = "asd2018";//密码
     29 var mobiles = "15655521119,17612345651";//电话
     30 var content = "中午吃啥子,收到钉钉我一下 --胡超";//内容
     31 var sign1 = "XtXYO12LyQJ";//编码 
     32 var addSerial = "123";//可以随便写,三位数
     33 obj.Add("ecName", new JValue(ecName));
     34 obj.Add("apId", new JValue(apId));
     35 obj.Add("secretKey", new JValue(secretKey));
     36 obj.Add("mobiles", new JValue(mobiles));
     37 obj.Add("content", new JValue(content));
     38 obj.Add("sign", new JValue(sign1));
     39 obj.Add("addSerial", new JValue(addSerial));
     40 var mac = ecName + apId + secretKey + mobiles + content + sign1 + addSerial;
     41 var mac1 = UserMd5(mac);//要进行32位MD5加密
     42 var length = mac1.Length;
     43 obj.Add("mAC", new JValue(mac1));
     44 string paras = obj.ToString();
     45 var jiami = Base64Code(paras);//传参数前要进行64位加密
     46 System.Net.WebClient pWebClient = new System.Net.WebClient();
     47 pWebClient.Headers.Add("Content-Type", "application/json;charset=UTF-8"); //charset=UTF-8
     48 pWebClient.Headers.Add(HttpRequestHeader.Accept, "*/*");
     49 pWebClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
     50 byte[] returnBytes = pWebClient.UploadData("http://112.35.1.155:1992/sms/norsubmit", "POST", System.Text.Encoding.UTF8.GetBytes(jiami));
     51 
     52 return System.Text.Encoding.UTF8.GetString(returnBytes);
     53 
     54 //var aa = Base64Decode(result1);
     55 }
     56 
     57 
     58 /// <summary>
     59 /// Base64加密 
     60 /// </summary>
     61 /// <param name="Message"></param>
     62 /// <returns></returns>
     63 public static string Base64Code(string Message)
     64 {
     65 byte[] bytes = Encoding.UTF8.GetBytes(Message);//这里要注意不是Default 因为Default默认GB2312
     66 return Convert.ToBase64String(bytes);
     67 }
     68 
     69 
     70 /// <summary>
     71 /// Base64解密 
     72 /// </summary>
     73 /// <param name="Message"></param>
     74 /// <returns></returns>
     75 public static string Base64Decode(string Message)
     76 {
     77 byte[] bytes = Convert.FromBase64String(Message);
     78 return Encoding.UTF8.GetString(bytes);
     79 }
     80 /// <summary>
     81 /// Base64加密
     82 /// </summary>
     83 /// <param name="encodeType">加密采用的编码方式</param>
     84 /// <param name="source">待加密的明文</param>
     85 /// <returns></returns>
     86 public static string Base64Encode(Encoding encodeType, string source)
     87 {
     88 string encode = string.Empty;
     89 byte[] bytes = encodeType.GetBytes(source);
     90 try
     91 {
     92 encode = Convert.ToBase64String(bytes);
     93 }
     94 catch
     95 {
     96 encode = source;
     97 }
     98 return encode;
     99 }
    100 
    101 /// <summary>
    102 /// Md5 加密
    103 /// </summary>
    104 /// <param name="str"></param>
    105 /// <returns></returns>
    106 public static string UserMd5(string str)
    107 {
    108 string cl = str;
    109 string pwd = "";
    110 MD5 md5 = MD5.Create();//实例化一个md5对像
    111 // 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择 
    112 byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
    113 // 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
    114 for (int i = 0; i < s.Length; i++)
    115 {
    116 // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符 
    117 pwd = pwd + s[i].ToString("x2");
    118 }
    119 return pwd;
    120 }
    121 
    122 
    123 }
    124 }
    View Code

    图1,用户密码设置

    签名:sign  下载

  • 相关阅读:
    Python 基础知识----数据类型
    drf 之序列化组件
    Django Rest framework 框架之解析器
    css选择器
    Python 爬虫 解析库的使用 --- Beautiful Soup
    Python 爬虫 解析库的使用 --- XPath
    动态渲染页面爬取(Python 网络爬虫) ---Selenium的使用
    HDU 1014(互质数 **)
    HDU 6432(不连续环排列 ~)
    HDU 6433(2的n次方 **)
  • 原文地址:https://www.cnblogs.com/huchaoheng/p/8093072.html
Copyright © 2020-2023  润新知