SMSService.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Net.Http;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Web;
  8. namespace EVCB_OCPP.WSServer.Service
  9. {
  10. public class SMSService
  11. {
  12. async public Task<string> SendMessage(string phoneNumber, string message)
  13. {
  14. string errorMsg = string.Empty;
  15. int result = 0;
  16. try
  17. {
  18. errorMsg = string.Empty;
  19. HttpClient client = new HttpClient();
  20. StringBuilder url = new StringBuilder("http://smexpress.mitake.com.tw:7002/SpSendUtf?");
  21. url.Append("username=").Append(HttpUtility.UrlEncode("83196607SMS",
  22. Encoding.UTF8));
  23. url.Append("&password=").Append(HttpUtility.UrlEncode("83196607SMS@nhoa.tcc",
  24. Encoding.UTF8));
  25. url.Append("&encoding=UTF8");
  26. url.Append("&dstaddr=").Append(phoneNumber);
  27. url.Append("&smbody=").Append(HttpUtility.UrlEncode(message,
  28. Encoding.UTF8).Replace("+", "%20"));
  29. url.Append("&CharsetURL=").Append("utf-8");
  30. var id = await client.GetStringAsync(url.ToString());
  31. if (!SendResult(id))
  32. {
  33. result = -1;
  34. errorMsg = id;
  35. }
  36. }
  37. catch (Exception ex)
  38. {
  39. result = -1;
  40. errorMsg = ex.Message;
  41. }
  42. return errorMsg;
  43. }
  44. private bool SendResult(string response)
  45. {
  46. bool result = false;
  47. if (response.Contains("msgid="))
  48. {
  49. result = true;
  50. }
  51. return result;
  52. }
  53. }
  54. }