移動 雲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  下載

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM