1. /*
  2. 功能: 企业短信通 C# HTTP接口 发送短信
  3. 修改日期: 2014-09-01
  4. 说明: http://api.cnsms.cn/?ac=send&uid=用户账号&pwd=MD5位32密码&mobile=号码&content=内容
  5. 状态:
  6. 100 发送成功
  7. 101 验证失败
  8. 102 短信不足
  9. 103 操作失败
  10. 104 非法字符
  11. 105 内容过多
  12. 106 号码过多
  13. 107 频率过快
  14. 108 号码内容空
  15. 109 账号冻结
  16. 110 禁止频繁单条发送
  17. 111 系统暂定发送
  18. 112 号码不正确
  19. 120 系统升级
  20. */
  21. using System;
  22. using System.Text;
  23. using System.Net;
  24. using System.IO;
  25. using System.Data;
  26.  
  27. namespace EsmsTest
  28. {
  29. class SendEsms
  30. {
  31. static void Main(string[] args)
  32. {
  33. string strContent = "企业短信通 测试c#";
  34. //GET 方式
  35. String getReturn = doGetRequest("http://api.cnsms.cn/?ac=send&uid=100226&pwd=fa246d0262c3925617b0c72bb20eeb1d&mobile=13585519197,13900008888&content=" + strContent);
  36. Console.WriteLine("Get response is: " + getReturn);
  37. StringBuilder sbTemp = new StringBuilder();
  38.  
  39. //POST
  40. sbTemp.Append("ac=send&uid=70299999&pwd=fa246d0262c3925617b0c72bb20eeb1d&mobile=13339196131,15375379376&content=" + strContent);
  41. byte[] bTemp = Encoding.ASCII.GetBytes(sbTemp.ToString());
  42. String postReturn = doPostRequest("http://api.cnsms.cn/", bTemp);
  43. Console.WriteLine("Post response is: " + postReturn);
  44.  
  45. }
  46.  
  47. //POST方式发送得结果
  48. private static String doPostRequest(string url, byte[] bData)
  49. {
  50. System.Net.HttpWebRequest hwRequest;
  51. System.Net.HttpWebResponse hwResponse;
  52.  
  53. string strResult = string.Empty;
  54. try
  55. {
  56. hwRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
  57. hwRequest.Timeout = 5000;
  58. hwRequest.Method = "POST";
  59. hwRequest.ContentType = "application/x-www-form-urlencoded";
  60. hwRequest.ContentLength = bData.Length;
  61.  
  62. System.IO.Stream smWrite = hwRequest.GetRequestStream();
  63. smWrite.Write(bData, 0, bData.Length);
  64. smWrite.Close();
  65. }
  66. catch (System.Exception err)
  67. {
  68. WriteErrLog(err.ToString());
  69. return strResult;
  70. }
  71.  
  72. //get response
  73. try
  74. {
  75. hwResponse = (HttpWebResponse)hwRequest.GetResponse();
  76. StreamReader srReader = new StreamReader(hwResponse.GetResponseStream(), Encoding.ASCII);
  77. strResult = srReader.ReadToEnd();
  78. srReader.Close();
  79. hwResponse.Close();
  80. }
  81. catch (System.Exception err)
  82. {
  83. WriteErrLog(err.ToString());
  84. }
  85.  
  86. return strResult;
  87. }
  88. //GET方式发送得结果
  89. private static String doGetRequest(string url)
  90. {
  91. HttpWebRequest hwRequest;
  92. HttpWebResponse hwResponse;
  93.  
  94. string strResult = string.Empty;
  95. try
  96. {
  97. hwRequest = (System.Net.HttpWebRequest)WebRequest.Create(url);
  98. hwRequest.Timeout = 5000;
  99. hwRequest.Method = "GET";
  100. hwRequest.ContentType = "application/x-www-form-urlencoded";
  101. }
  102. catch (System.Exception err)
  103. {
  104. WriteErrLog(err.ToString());
  105. return strResult;
  106. }
  107.  
  108. //get response
  109. try
  110. {
  111. hwResponse = (HttpWebResponse)hwRequest.GetResponse();
  112. StreamReader srReader = new StreamReader(hwResponse.GetResponseStream(), Encoding.ASCII);
  113. strResult = srReader.ReadToEnd();
  114. srReader.Close();
  115. hwResponse.Close();
  116. }
  117. catch (System.Exception err)
  118. {
  119. WriteErrLog(err.ToString());
  120. }
  121.  
  122. return strResult;
  123. }
  124.  
  125. private static void WriteErrLog(string strErr)
  126. {
  127. Console.WriteLine(strErr);
  128. System.Diagnostics.Trace.WriteLine(strErr);
  129. }
  130. }
  131. }
返回结果
  1. 100

获取余额

请求
  1. /*
  2. 功能: 企业短信通 C# HTTP接口 取余额
  3. 修改日期:2014-09-01
  4. 说明: http://api.cnsms.cn/?ac=gc&uid=用户账号&pwd=MD5位32密码
  5. 状态:
  6. 100 发送成功
  7. 101 验证失败
  8. 102 短信不足
  9. 103 操作失败
  10. 104 非法字符
  11. 105 内容过多
  12. 106 号码过多
  13. 107 频率过快
  14. 108 号码内容空
  15. 109 账号冻结
  16. 110 禁止频繁单条发送
  17. 111 系统暂定发送
  18. 112 号码不正确
  19. 120 系统升级
  20. */
  21. using System;
  22. using System.Collections;
  23. using System.Configuration;
  24. using System.Data;
  25. using System.Linq;
  26. using System.Web;
  27. using System.Web.Security;
  28. using System.Web.UI;
  29. using System.Web.UI.HtmlControls;
  30. using System.Web.UI.WebControls;
  31. using System.Web.UI.WebControls.WebParts;
  32. using System.Xml.Linq;
  33. using Present.Model;
  34. using Present.DAL;
  35. using Present.BLL;
  36. using System.Data.SqlClient;
  37. using System.Text;
  38. using System.Net;
  39. using System.IO;
  40. using System.Globalization;
  41. using System.Security.Cryptography;
  42.  
  43. public partial class _Default : System.Web.UI.Page
  44. {
  45. #region 短信发送
  46. protected void Button2_Click(object sender, EventArgs e)
  47. {
  48. string uid="100226"; //用户名
  49. string pass = "100226"; //密码
  50.  
  51. StringBuilder sbTemp = new StringBuilder();
  52. pass = FormsAuthentication.HashpwdForStoringInConfigFile(pass, "MD5"); //密码进行MD5加密
  53. //POST 传值
  54. sbTemp.Append("ac=gc&uid="+uid+"&pwd=" + pass );
  55. byte[] bTemp = System.Text.Encoding.GetEncoding("GBK").GetBytes(sbTemp.ToString());
  56.  
  57. String postReturn = doPostRequest("http://api.cnsms.cn/", bTemp);
  58. Response.Write("Post response is: " + postReturn); //测试返回结果
  59. }
  60. //POST方式发送得结果
  61. private static String doPostRequest(string url, byte[] bData)
  62. {
  63. System.Net.HttpWebRequest hwRequest;
  64. System.Net.HttpWebResponse hwResponse;
  65.  
  66. string strResult = string.Empty;
  67. try
  68. {
  69. hwRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
  70. hwRequest.Timeout = 5000;
  71. hwRequest.Method = "POST";
  72. hwRequest.ContentType = "application/x-www-form-urlencoded";
  73. hwRequest.ContentLength = bData.Length;
  74.  
  75. System.IO.Stream smWrite = hwRequest.GetRequestStream();
  76. smWrite.Write(bData, 0, bData.Length);
  77. smWrite.Close();
  78. }
  79. catch (System.Exception err)
  80. {
  81. WriteErrLog(err.ToString());
  82. return strResult;
  83. }
  84.  
  85. //get response
  86. try
  87. {
  88. hwResponse = (HttpWebResponse)hwRequest.GetResponse();
  89. StreamReader srReader = new StreamReader(hwResponse.GetResponseStream(), Encoding.ASCII);
  90. strResult = srReader.ReadToEnd();
  91. srReader.Close();
  92. hwResponse.Close();
  93. }
  94. catch (System.Exception err)
  95. {
  96. WriteErrLog(err.ToString());
  97. }
  98.  
  99. return strResult;
  100. }
  101. private static void WriteErrLog(string strErr)
  102. {
  103. Console.WriteLine(strErr);
  104. System.Diagnostics.Trace.WriteLine(strErr);
  105. }
  106. #endregion
  107. }
返回结果
  1. 100||22348

企业短信通 C# HTTP接口 发送短信的更多相关文章

  1. Java之HttpClient调用WebService接口发送短信源码实战

    摘要 Java之HttpClient调用WebService接口发送短信源码实战 一:接口文档 二:WSDL 三:HttpClient方法 HttpClient方法一 HttpClient方法二 Ht ...

  2. android 中调用接口发送短信

    android中可以通过两种方式发送短信 第一:调用系统短信接口直接发送短信:主要代码如下: //直接调用短信接口发短信 SmsManager smsManager = SmsManager.getD ...

  3. 通过移动的Mas接口发送短信

    1. 首先,需要移动公司提供的用户名.密码.服务ID.接口Url等信息. 2. 将短信信息整理成XML格式的字符串,再转为byte数组,通过POST的方式,将短信发往Mas接口.需要引用"M ...

  4. 注册登录页面修订-Python使用redis-手机验证接口-发送短信验证

    登录页面修订 views.Login.vue <template> <div class="login box"> <img src="@/ ...

  5. JAVA 调用第三方短信平台接口发送短信

    做了几个调用三方短信平台发送短信的例子,大部分需要 携带参数,向指定URL发送请求 回顾对接第一个平台时痛苦的乱码经历,这里放一份代码,算是个模版,再用到的时候过来copy一下就OK. 在进入主题之前 ...

  6. zabbix3调用接口发送短信告警

    一.需求 之前使用的邮件告警,由于经常会忽略邮件,所以有时候告警查看的并不及时,所以增加短信告警的,以便及时处理. 二.zabbix-server端的配置 # 需要在zabbix-server端打开A ...

  7. java 调用短信 api 接口发送短信

    参考:   https://blog.csdn.net/u014793522/article/details/59062014 参考 :https://blog.csdn.net/Lu_shilusi ...

  8. 如何使用微信小程序云函数发送短信验证码

    其实微信小程序前端和云端都是可以调用短信平台接口发送短信的,使用云端云函数的好处是无需配置域名,也没有个数限制. 本文使用的是榛子云短信平台(http://smsow.zhenzikj.com) ,S ...

  9. 发送短信——java

    闲来无事研究一下调用第三方接口发送短信的技术 这一次我们使用阿里的短信服务 一.进行平台相关服务的注册和设置 下面请参照阿里的短信服务文档进行设置,只要按照文档步骤来差不多30分钟就能搞定服务注册: ...

随机推荐

  1. 20-THREE.JS 混合材质

    <!DOCTYPE html> <html> <head> <title></title> <script src="htt ...

  2. 2017.11.2 Talk to customers for an hour

    yesterday::: Hi Huang, For the better performance of the test the Con 6 should be connected all the ...

  3. 在Ubuntu 14.04 TLS下openvas V8.0源代码安装过程

    [Qboy原创]详细记录源代码的安装过程 1.下载原代码 在http://www.openvas.org/install-source.html下载 Libraries 8.0.8 Scanner 5 ...

  4. 《Scala入坑笔记》缘起 3天就搞了一个 hello world

    有小伙伴向我咨询 play framework 的问题,我就想了解一下 play framework ,按照官方的文档,要使用 SBT 安装,就掉进了 SBT 的坑. 第一坑:国外仓库太慢 安装完成后 ...

  5. C与C++结构体的区别

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...

  6. 谈谈Java基础数据类型

    Java的基本数据类型 类型 意义 取值 boolean 布尔值 true或false byte 8位有符号整型 -128~127 short 16位有符号整型 -pow(2,15)~pow(2,15 ...

  7. 移动元素时,translate要比margin好

    比如 做全屏轮播时,父元素往往是被子元素撑起来的,那你设置父元素的margin时,往往会感染到子元素,如下图: 而用translate3d就不会出现这种效果:

  8. ubuntu 添加新硬盘

    查看硬盘: # fdisk -l ... Disk /dev/sdb: 274.9 GB, 274877906944 bytes 255 heads, 63 sectors/track, 33418 ...

  9. 关于15桥梁课程1&2的笔记以及待做事项的梳理

    1.指针所占用的空间是固定的 2.void *malloc(sizeof(int)); (这玩意耗时间,老师说通过内存池解决) free(p);free(p);   两次free()报错,正确的做法: ...

  10. 深入了解ZooKeeper(二)

    在上篇博客<<深入了解ZooKeeper(一)>>中我们知道了分布式协调技术.分布式锁的实现和zookeeper服务机制,接下来将进一步了解zookeeper究竟能为我们做了什 ...