移動 雲MAS 發短信 .net HTTP 請求
阿新 • • 發佈:2017-12-23
nor set get 小寫 mac esp pos upload default
本人開發移動雲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 MessageSendProjView Code11 { 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 }
圖1,用戶密碼設置
簽名:sign 下載
移動 雲MAS 發短信 .net HTTP 請求