信息时代,无论是电商还是网络营(chuan)销(xiao)都希望得道更多的用户信息。所以很多的网站注册上用到了手机验证码功能。网上有很多的SMS接口提供商。在选择的时候无非就是考虑到1、发送速度;2、短信价格;3、运营商服务以及技术支持。

找了几个感觉这个提供商还不错(http://www.pcf.cn/)。首先是发送的速度,因现在是过年时期短信也应该输入高峰期吧,这种情况下短信几乎是五秒内送达。其次是价格,从5分到1角不等,因会员等级不同价格不同。不过对于一般小网站的土(diao)豪(si)站长也是可以接受的。

写了一个HTTP POST的发送信息类,当然了官网也提供了相应的下载。手贱就愿意自己写,直接贴。说不定那天我也成为未来某某门户网站的BOSS那。。。

 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Text;using System.Net;using System.IO;namespace SMS{public class CSMS{private string strUrl = "http://sms.106jiekou.com/utf8/sms.aspx";private string strAccount = "";    // 用户登录名称 This is Login Nameprivate string strPassWord = "";        // 短信接口密码(非登录密码) This is Interface PassWord(Not Longin PassWord)/// <summary>/// 构造函数/// </summary>/// <param name="strAccount">登录用户帐号</param>/// <param name="strPassWord">短信接口密码</param>public CSMS(string strAccount, string strPassWord){this.strAccount = strAccount;this.strPassWord = strPassWord;}/// <summary>/// 发送信息/// </summary>/// <param name="strTelNum">目标电话号码</param>/// <param name="strContent">短信内容,必须为短信模版中审核通过</param>/// <returns></returns>public bool SendSMS(string strTelNum, string strContent, out string strError){bool bResult = false;strError = "";string strPostData = "account={0}&password={1}&mobile={2}&content={3}";UTF8Encoding utfEncoding = new UTF8Encoding();byte[] bPostData = utfEncoding.GetBytes(string.Format(strPostData, this.strAccount, this.strPassWord, strTelNum, strContent));try{HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(this.strUrl);myRequest.Method = "POST";myRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";myRequest.ContentLength = bPostData.Length;Stream stream = myRequest.GetRequestStream();// 发送数据 Send the data.stream.Write(bPostData, 0, bPostData.Length);stream.Flush();stream.Close();HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();if (myResponse.StatusCode == HttpStatusCode.OK){int iResult = -1;StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);string strResult = reader.ReadToEnd();int.TryParse(strResult, out iResult);switch (iResult){case -1:strError = "Error:服务器返回值转换错误、" + strResult;bResult = false;break;case 100:strError = "";bResult = true;break;default:bResult = false;strError = "Error:服务器拒绝发送、请查看官方API返回值信息;错误代码(" + iResult + ")";break;}}}catch (Exception ex){bResult = false;strError = "Error:" + ex.Message;}return bResult;}}}

  

 返回发送的状态码说明:

状态码     说明

100         发送成功

101         验证失败

102         手机号码格式不正确

103         会员级别不够

104         内容未审核

105         内容过多

106         账户余额不足

107         Ip受限

108         手机号码发送太频繁,请换号或隔天再发

109         帐号被锁定

110         手机号发送频率持续过高,黑名单屏蔽数日

120         系统升级
  
 注:由于某些网民的特殊爱好可能回去你网站捣乱,所以短信验证的时候要加上验证、IP地址限制、ID限制、手机号限制以及短信通帐号密码安全保护。毕竟这花的是站长的血(guang)汗(gao)钱。当然了土豪例外。。。

转载于:https://www.cnblogs.com/MangoCai/p/4296302.html

【API】短信通106端口验证短信的实现相关推荐

  1. 短信验证(吉信通),邮箱验证

    一:吉信通短信发送平台 官网 使用步骤 1.  可以先和 业务咨询,聊一下公司需要   2.  查看接口服务  3. 相关下载,下载编程语言对应代码示例   JAVA.zip 是 HTTP 调用案例 ...

  2. PHP调用企信通短信平台接口

    本篇文章介绍企信通(www.woxp.cn)短信平台接口的调用. 个人觉得这个平台接口的调用蛮简单的,也好用,不过得先申请好一个账号. HTML代码: <form action="{: ...

  3. SMS短信通API下行接口参数

    为什么80%的码农都做不了架构师?>>>    JAVA发送手机短信 方法: (1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送, ...

  4. 网建短信通 使用java调用API发送短信时总是返回-41,关键的关键,仅在于一个问号:(

    今天突发奇想做一个定时给女朋友发送表白短信的功能,发送短信的接口很多,不过基本都是收费的,情有可原.在网建短信通平台(http://sms.webchinese.cn/default.shtml)可以 ...

  5. 吉信通php 短信配置,吉信通:手机APP为什么要用短信验证?

    原标题:吉信通:手机APP为什么要用短信验证? 手机的蓬勃发展,衍生出来众多APP,让原本功能单一的手机号身份变得多样化.如今似乎每个人的手机号都绑定了或多或少的各种账号,手机绑定的东西越来越多,涉及 ...

  6. c语言您的验证码代码,c国际短信接口_c国际验证码接口_c国际手机验证接口_国际短信代码示例_达信通...

    C C代码示例 //接口类型:达信通国际短信接口. //账户注册:请通过该地址开通账户http://sms.wx96.com/register.html //注意事项: //(1)调试期间,请仔细阅读 ...

  7. 企信通 短信接口对接

    /* 功能: 企信通PHP HTTP接口 发送短信 修改日期: 2014-03-19 说明: http://api.cnsms.cn/?ac=send&uid=用户账号&pwd=MD5 ...

  8. 企信通100短信平台对各个行业短信应用需求分析

    1.API接口验证短信.订单短信,支持多种语言对接,自由度高灵活性高,采用专用端口一对一使用,保证稳定性. 2.用于群发短信,自由编辑内容,直接群发的客户,可采用企信通100软件平台直接操作发送,不需 ...

  9. Flask爱家租房--celery(发送验证短信)

    0.配置文件 # coding:utf-8BROKER_URL = "redis://127.0.0.1:6379/1" CELERY_RESULT_BACKEND = 'redi ...

最新文章

  1. 三层代码讲解--第一课
  2. 解压文件出错解决方法(invalid compressed data--format violated)
  3. 科学计数怎么转换成数字_手持式尘埃粒子计数器价格多少钱
  4. [vue] 有使用过vue吗?说说你对vue的理解
  5. springmvc图片文件上传接口
  6. 前端遇到瓶颈了怎么办?
  7. c语言函数返回数组_C语言如何用一维数组拷贝函数,拷贝二位数组(C Primer Plus 10-7)...
  8. ESLint规则配置说明
  9. ASP.NET Core部署在IIS上
  10. 13. PHP OPcache
  11. Android之ViewStub的简单使用
  12. html如何算小于0判断错误,报错提示:直筋长度的计算结果小于0,计算公式为......
  13. 【多线程与高并发】从一则招聘信息进入多线程的世界
  14. vscode文件飘红色波浪线
  15. object.key
  16. k8s与日志--journalbeat源码解读 1
  17. 以前的的华为手机可不可以用鸿蒙系统_现在买华为手机以后可以换成鸿蒙系统吗?...
  18. 电信专业《数字信号处理课程设计》任务书
  19. 8-14:HTML学习#30
  20. 剑指-4和7幸运数字 (幸运数字 4和7)

热门文章

  1. padding、margin百分比
  2. python的try和except_Python用try except处理程序异常的三种方法总结
  3. linux查看宽带ip是否动态,linux CentOS系统查看实时宽带的办法
  4. ajax中的简单get请求,jquery 之ajax,get,post异步请求简单代码模版(示例代码)
  5. 业务编排可视化_微服务设计-服务组合和可视化编排思考
  6. java hibernate更新_Hibernate更新某些字段的几种update方法
  7. hht时频谱 matlab 乱序_MATLAB信号频谱分析FFT详解
  8. ubuntu安装minisat_minisat 安装指南
  9. jep(java表达式分析器)简介
  10. java调试时监视_Java监控工具、调优、调试辅助函数