目录

具体实现——封装一个类里,U层直接调用

配置文件的内容如下

验证手机号的正则表达式


首先先需要注册第三方网站,给大家推荐一个网站互亿无线,注册了之后每个用户可以免费发送50条短信。

下面以C#实现手机发送验证码为例。基本思路是本地生成一个4位数的随机数,然后以本地的用户名+密码+随机数拼接成一个字符串,转换为二进制数据,以网络流的形式发送到“互亿无线”的网站上,接下来的工作网站就帮你完成了。

具体实现——封装一个类里,U层直接调用

public class Phone
{public static string PostUrl = ConfigurationManager.AppSettings["WebReference.Service.PostUrl"];//写在了配置文件中/// <summary>/// 实现发送验证码/// </summary>/// <param name="phoneno">手机号</param>/// <returns>验证码</returns>public static  int PhoneNo(string phoneno){string account = "******";//登录“互亿无线网站”查看用户名 登录用户中心->验证码通知短信>产品总览->API接口信息->APIIDstring password = "*******"; //登录“互亿无线网站”查看密码 登录用户中心->验证码通知短信>产品总览->API接口信息->APIKEYstring mobile = phoneno;//string mobile = Request.QueryString["mobile"];Random rad = new Random();int mobile_code = rad.Next(1000, 10000);   //生成随机数//textBox3.Text = mobile_code.ToString();返回值string content = "您的验证码是:" + mobile_code + " 。请不要把验证码泄露给其他人。";string postStrTpl = "account={0}&password={1}&mobile={2}&content={3}";  //用户名+密码+注册的手机号+验证码UTF8Encoding encoding = new UTF8Encoding();  //万国码byte[] postData = encoding.GetBytes(string.Format(postStrTpl, account, password, mobile, content)); //将字符串postStrTpl中的格式项替换为四个个指定的 Object 实例的值的文本等效项。再转为二进制数据HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(PostUrl);//对统一资源标识符 (URI) 发出请求。 这是一个 abstract 类。myRequest.Method = "POST";myRequest.ContentType = "application/x-www-form-urlencoded";myRequest.ContentLength = postData.Length;Stream newStream = myRequest.GetRequestStream(); //// Send the data.newStream.Write(postData, 0, postData.Length);newStream.Flush();newStream.Close();HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();if (myResponse.StatusCode == HttpStatusCode.OK){StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);//code状态返回值;msg查询结果描述string res = reader.ReadToEnd();int len1 = res.IndexOf("</code>");int len2 = res.IndexOf("<code>");string code = res.Substring((len2 + 6), (len1 - len2 - 6));int len3 = res.IndexOf("</msg>");int len4 = res.IndexOf("<msg>");string msg = res.Substring((len4 + 5), (len3 - len4 - 5));//MessageBox.Show(msg);return mobile_code;}else{return 0;//访问失败}}}

配置文件的内容如下

<appSettings><!--发送验证码的接口--><add key="WebReference.Service.PostUrl" value="http://106.ihuyi.cn/webservice/sms.php?method=Submit"/><add key="WebReference.sms" value="http://106.ihuyi.cn/webservice/sms.php?smsService"/>
</appSettings>

验证手机号的正则表达式

/// <summary>
/// 验证手机号的正则表达式
/// </summary>
/// <param name="phoneid">手机号</param>
/// <returns>bool值</returns>
public static bool VailPhoneCode(string phoneid)
{string str = @"^1[3-9]\d{9}$";  Regex regex = new Regex(str);//正则表达式类if (regex.IsMatch(phoneid))//Regex验证{return true;}else{return false;}
}

我这里还有其他语言实现手机发送验证码源码,大家可以私信我。私发给你哦。

如果本篇博客对您有一定的帮助,大家记得留言+点赞哦。

C#实现手机发送验证码相关推荐

  1. 手机发送验证码的业务逻辑探究-主要是安全性,响应性

    手机发送验证码的业务逻辑探究-主要是安全性,响应性 这样一来,只要知道静态的验证码是什么,脚本就可以轻松填写正确的验证码. 解决方法: 1后台是否可以限制一个IP发送的次数 2限定发送验证码的一分钟的 ...

  2. html如何发送验证码到手机,页面效果,给手机发送验证码

    html> 定时发送验证码 var wait = 5; function send(o) { if(wait==5){ //向服务器发送请求,给手机发送验证码 // $.post("/ ...

  3. 网站登录密码忘记后,通过向手机发送验证码实现找回密码的实现方法

    今天我想了一天如何实现网站用户在忘记了密码后,如何通过向手机发送验证码来重新设置密码.验证码的验证以及生成都已经做好了,现在主要是解决如何向用户手机发送短信.显然这需要一个第三方提供的短信接口,来帮助 ...

  4. springboot向手机发送验证码

    ** springboot向手机发送验证码 ** 1.在腾讯云里面申请短信签名,短信模板 在百度搜索腾讯云,进入到腾讯云里面,在产品里搜索短信 然后找到国内短信 创建签名和模板,创建签名可以用公众号. ...

  5. html给手机号发送验证码,js如何实现手机发送验证码功能

    js如何实现手机发送验证码功能 发布时间:2021-06-21 12:24:46 来源:亿速云 阅读:82 作者:小新 这篇文章将为大家详细讲解有关js如何实现手机发送验证码功能,小编觉得挺实用的,因 ...

  6. 微信小程序 授权登录+手机发送验证码+jwt验证接口(laravel8+php)

    参考博客 小程序授权登录并 laravel7(laravel8) token 应用 - 王越666 - 博客园 微信小程序sku商品规格选择器 - 简书 微信小程序 和 laravel8 实现搜索后分 ...

  7. 健康管理系统第七天(移动端_体检预约(手机号校验、发送验证码之后30秒倒计时效果、生成验证码、向手机发送验证码))

    一.体检预约流程 用户可以通过如下操作流程进行体检预约: 1.在移动端首页点击体检预约,页面跳转到套餐列表页面 2.在套餐列表页面点击要预约的套餐,页面跳转到套餐详情页面 3.在套餐详情页面点击立即预 ...

  8. C#实现向手机发送验证码短信

    效果描述 当点击button1后向textbox1中输入的号码的手机发送一条验证码短信 步骤 注册 互亿无线 账号 查找APIID和APIKEY 窗口布局的设计布局 代码的书写 所有代码 注册 互亿无 ...

  9. 【redis】模拟手机发送验证码

    要求: 1.输入手机号,点击发送后随机生成6位数字码,2分钟有效 2.输入验证码,点击验证,返回成功或失败 3.每个手机号每天只能发送3次 分析: 随机生成6位数数字码: 使用Ramdom 验证码2分 ...

  10. 基于Java--获取城市天气与给手机发送验证码--HTTP协议实践

    目录 一.认识网址 二.获取城市的天气预报信息 三.给指定手机号码发送验证码 四.实现自定义短信内容的短信验证码发送 参考 一.认识网址 网址的组成:协议://域名:端口号/虚拟路径?参数列表#锚点 ...

最新文章

  1. Java基础知识回顾-6
  2. Understanding CORS
  3. Android优化五:布局优化
  4. Mybatis的update方法
  5. 日常生活小技巧 -- word中插入visio和视频
  6. python调用API来实现机器人
  7. 算法---查找倒数第k个链表的值
  8. 网络设计分层设计的原理
  9. jsp页面科学计数法显示问题的解决办法
  10. 【jQuery笔记Part1】06-jQuery对象与js对象转换
  11. 盒子模型(W3C盒子和IE盒子)
  12. 利用python解析手机通讯录
  13. android arm linux下使用内存转储crash工具分析 kernel system dump问题
  14. 关于【CSDN免积分下载器】的分析
  15. 梯形公式和辛普森的Matlab
  16. Facebook想要成为下一个微信,难!
  17. 【Unity3D自学记录】 Unity3D游戏开发之键盘选取、切换目标
  18. 【论文 CCF C】An Adaptive Box-Normalization Stock Index Trading Strategy Based on Reinforcement Learning
  19. 2022年全球及中国制动系统行业头部企业市场占有率及排名调研报告
  20. 两组三维对应点/坐标系转换公式及简要推导

热门文章

  1. 使用protobuf_example_addressbook.proto项目时的问题:PROTOBUF_USE_DLLS
  2. 胎死腹中的天颖工作室-2004年初的痛楚
  3. Flink的重启策略(RestartStrategy)实战
  4. 为什么会出现淘宝客比价订单?怎样才能省钱购物?
  5. 怎样批量替换Word中的文字?这一招Word文字替换技巧你会吗
  6. 软件编程语言培训师张孝祥
  7. 【无标题】Vue长列表性能优化常用方案
  8. python小玩具(恶俗古风生成器)
  9. 去律师面试python_我的五次律所面试到底都经历了什么,这些真相……
  10. Pytorch——momentum动量