Advertisement
Guest User

Untitled

a guest
Jul 24th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. using System.Net;
  7.  
  8. namespace SMSAPI
  9. {
  10. class SmsSender
  11. {
  12. void send(string uid, string pwd, string no, string msg)
  13. {
  14. String content = "username="+uid+"&password="+pwd;
  15. try
  16. {
  17. HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://wwwa.way2sms.com/auth.cl");
  18. request.KeepAlive = false;
  19. byte[] byteArray = Encoding.UTF8.GetBytes(content);
  20. CookieContainer cookies = new CookieContainer();
  21. request.CookieContainer = cookies;
  22. request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5";
  23. request.ContentLength = byteArray.Length;
  24. request.ContentType = "application/x-www-form-urlencoded";
  25. request.Accept = "*/*";
  26. request.Referer = "http://wwwg.way2sms.com//entry.jsp";
  27. request.Method = "POST";
  28. Stream dataStream = request.GetRequestStream();
  29. dataStream.Write(byteArray, 0, byteArray.Length);
  30. dataStream.Close();
  31. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  32. foreach (Cookie cook in response.Cookies)
  33. {
  34. cookies.Add(cook);
  35. }
  36. Stream stream = response.GetResponseStream();
  37. StreamReader reader = new StreamReader(stream);
  38. string serverData = reader.ReadToEnd();
  39. reader.Close();
  40. content = "custid=undefined&HiddenAction=instantsms&Action=custfrom450000&login=&pass=&MobNo="+no+"&textArea="+msg;
  41. request = (HttpWebRequest)WebRequest.Create("http://wwwa.way2sms.com/FirstServletsms?custid=");
  42. byteArray = Encoding.UTF8.GetBytes(content);
  43. request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5";
  44. request.ContentLength = byteArray.Length;
  45. request.ContentType = "application/x-www-form-urlencoded";
  46. request.Accept = "*/*";
  47. request.CookieContainer = cookies;
  48. request.Method = "POST";
  49. dataStream = request.GetRequestStream();
  50. dataStream.Write(byteArray, 0, byteArray.Length);
  51. dataStream.Close();
  52. response = (HttpWebResponse)request.GetResponse();
  53. stream = response.GetResponseStream();
  54. reader = new StreamReader(stream);
  55. serverData = reader.ReadToEnd();
  56. reader.Close();
  57. request = (HttpWebRequest)WebRequest.Create("http://wwwa.way2sms.com/jsp/logout.jsp");
  58. byteArray = Encoding.UTF8.GetBytes(content);
  59. request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5";
  60. request.ContentLength = byteArray.Length;
  61. request.ContentType = "application/x-www-form-urlencoded";
  62. request.Accept = "*/*";
  63. request.CookieContainer = cookies;
  64. request.Method = "POST";
  65. dataStream = request.GetRequestStream();
  66. dataStream.Write(byteArray, 0, byteArray.Length);
  67. dataStream.Close();
  68. response = (HttpWebResponse)request.GetResponse();
  69. stream = response.GetResponseStream();
  70. reader = new StreamReader(stream);
  71. serverData = reader.ReadToEnd();
  72. reader.Close();
  73. }
  74. catch (ArgumentException e)
  75. {
  76. Console.WriteLine("arg exception");
  77. Console.Read();
  78.  
  79. }
  80. catch (WebException e)
  81. {
  82. Console.WriteLine("web exception");
  83. Console.Read();
  84. }
  85. catch (Exception e)
  86. {
  87. Console.WriteLine("exception");
  88. Console.Read();
  89. }
  90. }
  91.  
  92. static void Main(string[] args)
  93. {
  94. SmsSender sms = new SmsSender();
  95. sms.send("username", "password", "phno_recipient", "message");
  96. }
  97.  
  98. }
  99. }
  100.  
  101. TcpClient smsServer = OpenConnection("xyz.xy.x.xyz", xyzd, out connected);//require ip and port
  102.  
  103. if (connected)
  104. {
  105. string sms = content;
  106.  
  107. SendSmsToClient(smsServer, Properties.Settings.Default.FromNumber, toNumber, sms);
  108.  
  109. }
  110. }
  111.  
  112. protected static TcpClient OpenConnection(string ip, int port, out bool connected)
  113. {
  114. string response = string.Empty;
  115. string message = string.Empty;
  116.  
  117. TcpClient tcpClient = new TcpClient();
  118.  
  119. try
  120. {
  121. ASCIIEncoding ascEn = new ASCIIEncoding();
  122.  
  123. tcpClient.Connect(ip, port);
  124.  
  125. Stream stream = tcpClient.GetStream();
  126.  
  127. byte[] bb = new byte[100];
  128. stream.Read(bb, 0, 100);
  129.  
  130. string connect = ascEn.GetString(bb);
  131.  
  132. if (!String.IsNullOrEmpty(connect))
  133. {
  134. //authenticating to smsServer
  135. string str = "action: loginrnusername: xxxxxrnsecret: integrationrnrn";
  136.  
  137. byte[] ba = ascEn.GetBytes(str);
  138. stream.Write(ba, 0, ba.Length);
  139. stream.Flush();
  140.  
  141. byte[] resp = new byte[100];
  142. stream.Read(resp, 0, 100);
  143. response = ascEn.GetString(resp);
  144. stream.Read(resp, 0, 100);
  145. message = ascEn.GetString(resp);
  146.  
  147. if (response.Contains("Success") && message.Contains("Authentication accepted"))
  148. {
  149. Console.WriteLine("Authenticated");
  150. stream.Flush();
  151. connected = true;
  152. return tcpClient;
  153. }
  154. else
  155. {
  156. Console.WriteLine("Credentials error Cant Authenticate");
  157. tcpClient.Close();
  158. connected = false;
  159. return tcpClient;
  160. }
  161. }
  162.  
  163. connected = false;
  164. return tcpClient;
  165. }
  166. catch (Exception ex)
  167. {
  168. Console.WriteLine(ex.Message);
  169. }
  170.  
  171. connected = false;
  172. return tcpClient;
  173. }
  174.  
  175. protected static void CloseConnection(TcpClient client)
  176. {
  177. client.Close();
  178. Console.WriteLine("Connection Closed process terminated...");
  179. }
  180.  
  181.  
  182. protected static void SendSmsToClient(TcpClient client, string fromNumber, string toNumber, string smsBody)
  183. {
  184. string response = string.Empty;
  185. string message = string.Empty;
  186. string eventMsg = string.Empty;
  187.  
  188. ASCIIEncoding asen = new ASCIIEncoding();
  189. Stream stm = client.GetStream();
  190.  
  191. string smsSend = string.Format("action: smscommandrncommand: gsm send sms {0} {1} rnrn", fromNumber, toNumber);
  192.  
  193. byte[] smsCmd = asen.GetBytes(smsSend);
  194.  
  195. stm.Write(smsCmd, 0, smsCmd.Length);
  196. stm.Flush();
  197.  
  198. byte[] smsResp = new byte[1000];
  199. stm.Read(smsResp, 0, 1000);
  200. response = asen.GetString(smsResp);
  201.  
  202. if (!String.IsNullOrEmpty(response))
  203. {
  204. stm.Read(smsResp, 0, 1000);
  205. message = asen.GetString(smsResp);
  206.  
  207. if (!String.IsNullOrEmpty(message))
  208. {
  209. stm.Read(smsResp, 0, 1000);
  210.  
  211. eventMsg = asen.GetString(smsResp);
  212.  
  213. if (!String.IsNullOrEmpty(eventMsg))
  214. {
  215. String[] list = eventMsg.Split('n');
  216.  
  217. foreach (string value in list)
  218. {
  219. if (value.StartsWith("--END"))
  220. {
  221. stm.Flush();
  222. }
  223. }
  224. }
  225. }
  226. }
  227. }
  228. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement