MasSms.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System;
  2. using System.IO;
  3. using System.Net;
  4. using System.Text;
  5. using GxPress.Common.Encrypt;
  6. using Newtonsoft.Json;
  7. namespace GxPress.Common.Sms
  8. {
  9. public static class MasSms
  10. {
  11. /// <summary>
  12. /// 广西短信
  13. /// </summary>
  14. /// <param name="phone"></param>
  15. /// <param name="code"></param>
  16. /// <returns></returns>
  17. public static bool SendSms(string phone, string code)
  18. {
  19. var url = "http://112.35.1.155:1992/sms/norsubmit";
  20. try
  21. {
  22. var content = $"打死也不能告诉别人,短信验证码:{code}";
  23. var md5 = EncryptProvider.Md5($"接口联调账号impactpasswd@1342{phone}{content}bM16CfN2B").ToLower();
  24. var json = "{\"ecName\":\"接口联调账号\", \"apId\":\"impact\", \"mobiles\":\"" + phone + "\", \"content\":\"" + content + "\", \"sign\":\"bM16CfN2B\", \"addSerial\":\"\", \"mac\":\""+md5+"\"}";
  25. var base64Encode = EncryptProvider.Base64Encode(json);
  26. byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(base64Encode); //转化
  27. HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(url));
  28. webReq.Method = "POST";
  29. webReq.ContentType = "application/x-www-form-urlencoded";
  30. //webReq.ContentType = "application/json";
  31. webReq.ContentLength = byteArray.Length;
  32. Stream newStream = webReq.GetRequestStream();
  33. newStream.Write(byteArray, 0, byteArray.Length);//写入参数
  34. newStream.Close();
  35. HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();
  36. StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
  37. var ret = sr.ReadToEnd();
  38. sr.Close();
  39. response.Close();
  40. newStream.Close();
  41. var success = JsonConvert.DeserializeObject<SmsSuccess>(ret);
  42. return success.Success;
  43. }
  44. catch (Exception ex)
  45. {
  46. throw new Common.Exceptions.BusinessException(ex.Message);
  47. }
  48. }
  49. }
  50. public class SmsSuccess
  51. {
  52. public string MsgGroup { get; set; }
  53. public string Rspcod { get; set; }
  54. public bool Success { get; set; }
  55. }
  56. }