效果描述

当点击button1后向textbox1中输入的号码的手机发送一条验证码短信

步骤

  1. 注册 互亿无线 账号
  2. 查找APIID和APIKEY
  3. 窗口布局的设计布局
  4. 代码的书写
  5. 所有代码

注册 互亿无线 账号

网站:添加链接描述

查找APIID和APIKEY

窗口布局的设计布局

一个label一个textbox一个button

代码的书写

添加一个按钮点击事件

        private void button1_Click(object sender, EventArgs e){if (!CallPhone(textBox1.Text.ToString())){label1.Text = "不成功";}}

新建一个发送短信的函数叫CallPhone()

        private bool CallPhone(string Recipient_Mobile_Num){//string PostUrl = "http://106.ihuyi.com/webservice/sms.php?method=Submit";//登录“互亿无线网站”查看用户名 登录用户中心->验证码通知短信>产品总览->API接口信息->APIIDstring account = "你的APIID";//登录“互亿无线网站”查看密码 登录用户中心->验证码通知短信>产品总览->API接口信息->APIKEYstring password = "你的APIKEY"; //接收短信的用户的手机号码string mobile = Recipient_Mobile_Num;//随机生成四位数 可以模仿向用户发送验证码Random rad = new Random();int mobile_code = rad.Next(1000, 10000);   //生成随机数string content = "您的验证码是:" + mobile_code + " 。请不要把验证码泄露给其他人。";string postStrTpl = "account={0}&password={1}&mobile={2}&content={3}";  //用户名+密码+注册的手机号+验证码UTF8Encoding encoding = new UTF8Encoding();  //万国码//将 account, password, mobile, content 这四个内容添加到postStrTpl字符串当中//并利用encoding.GetBytes()将括号里面的字符串转化为二进制类型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();//间postData合并到 PostUrl中去newStream.Write(postData, 0, postData.Length);newStream.Flush();newStream.Close();//以http://106.ihuyi.com/webservice/sms.php?method=Submit&account=你的APIID&password=你的APIKEY&mobile=接收短信的用户的手机号码&content=您的验证码是:" + mobile_code + " 。请不要把验证码泄露给其他人。"    发起https请求   并获取请求结果HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();if (myResponse.StatusCode == HttpStatusCode.OK){return true;}else{return false;//访问失败}}

所有代码

注意需要修改的地方

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;using System.IO;
using System.Net;namespace Sing_In
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){if (!CallPhone(textBox1.Text.ToString())){label1.Text = "不成功";}}private bool CallPhone(string Recipient_Mobile_Num){string PostUrl = "http://106.ihuyi.com/webservice/sms.php?method=Submit";//登录“互亿无线网站”查看用户名 登录用户中心->验证码通知短信>产品总览->API接口信息->APIIDstring account = "你的APIID";//登录“互亿无线网站”查看密码 登录用户中心->验证码通知短信>产品总览->API接口信息->APIKEYstring password = "你的APIKEY"; //接收短信的用户的手机号码string mobile = Recipient_Mobile_Num;//随机生成四位数 可以模仿向用户发送验证码Random rad = new Random();int mobile_code = rad.Next(1000, 10000);   //生成随机数string content = "您的验证码是:" + mobile_code + " 。请不要把验证码泄露给其他人。";string postStrTpl = "account={0}&password={1}&mobile={2}&content={3}";  //用户名+密码+注册的手机号+验证码UTF8Encoding encoding = new UTF8Encoding();  //万国码//将 account, password, mobile, content 这四个内容添加到postStrTpl字符串当中//并利用encoding.GetBytes()将括号里面的字符串转化为二进制类型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();//间postData合并到 PostUrl中去newStream.Write(postData, 0, postData.Length);newStream.Flush();newStream.Close();//以http://106.ihuyi.com/webservice/sms.php?method=Submit&account=你的APIID&password=你的APIKEY&mobile=接收短信的用户的手机号码&content=您的验证码是:" + mobile_code + " 。请不要把验证码泄露给其他人。"    发起https请求   并获取请求结果HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();if (myResponse.StatusCode == HttpStatusCode.OK){return true;}else{return false;//访问失败}}}
}

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

  1. Java-SpringBoot发送验证码短信

    发送注册验证码 * 验证码需求: * 1.后台随机产生4个字符 * 2.1分钟以内只能发送1次验证码 * 3.超过1分钟,但在5分钟以内,发送的验证码依然是第一次产生的验证码字符 * 4.超过了5分钟 ...

  2. 网易云信,发送验证码短信C#版代码

    网易云信,发送验证码短信C#版代码 网易云信发送短信代码(C# 版)....需要注意SHA1 String有转换小写!!!! using System; using System.Collection ...

  3. Python发送验证码短信

    Python发送验证码短信 前提条件 相关介绍 实验环境 发送验证码短信 账户注册 查看用户名 查看密码 主要步骤 代码实现 输出结果 前提条件 熟悉Python基本语法 相关介绍 Python是一种 ...

  4. 网易云发送验证码短信,发送通知短信,java版

    网易云中的短信服务 发送验证码短信,创建  MobileMessageSend : import java.io.IOException; import java.util.ArrayList; im ...

  5. 如何通过阿里云短信服务来发送验证码短信(超详细)

    通过阿里云来创建自己产品的验证码 目录 通过阿里云来创建自己产品的验证码 前言: 一:注册阿里云账号 二:开通阿里云短信服务 三:测试类文件的编写 四:测试 后续:动态验证码的生成 前言: 短信验证码 ...

  6. APP、网站等注册、登录、改密等发送验证码短信的接入流程---创蓝253云通讯

    1.登录 https://zz.253.com/site/login.html 2.获取接口API账号,密码:选择任意产品>激活>企业认证(上传公司营业执照) 3.申请签名(以公司简称或缩 ...

  7. php发送验证码短信,php发送短信验证码

    业务: 手机端点击发送验证码,请求发送到php端,由php调用第三方平台(我们使用的是榛子云短信http://smsow.zhenzikj.com)的短信接口,生成验证码并发送. 在"我的应 ...

  8. 秒嘀发送验证码短信类php

    <?php namespace app\common\controller;class Miaodi {//秒嘀配置private $miaodi_url = "https://api ...

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

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

最新文章

  1. 仿射加密简述和Win32版本实现
  2. 比较简单的在线图像编辑软件:觉得还行
  3. Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换
  4. 苹果6屏幕多大_苹果12使用高通X55,10亿买下的英特尔基带何时能派上用场
  5. ConcurrentDictionary的ToDictionary
  6. LeetCode 876. 链表的中间结点(快慢指针)
  7. QTcrateor 编译 ROS
  8. DPDK 绑定网卡之后的解绑
  9. vscode go开发staticcheck配置
  10. int与string互转
  11. 字节跳动辟谣“出售AI技术”和“成立打车项目”;GitHub 因代码版权问题遭抵制;贝佐斯正式卸任亚马逊 CEO|极客头条...
  12. Linux环境下实现简单进度条
  13. 单片机c语言必背代码_单片机编程用C语言还是汇编?
  14. java t输出_java --输入输出
  15. Mac OSX 常用软件下载页面集锦(持续更新)
  16. VMWare16下载安装Centos7镜像教程,详细记录
  17. 最简单的python爬虫案例,适合入门学习
  18. C语言程序设计勾股数,打印出100内的所有的勾股数(用C语言实现)
  19. web python 取代js_web前端:JavaScript,只有你想不到
  20. 1111111111

热门文章

  1. python海龟画哆啦a梦_python 海龟绘图画哆啦A梦
  2. QQ隐藏福利一------------------------文件极速下载
  3. python怎样分析文献综述怎么写_本科毕业论文如何撰写文献综述
  4. 名帖296 傅山 行书《行书帖选》
  5. 【开心一刻】又想让马儿跑,又不给马儿吃草!
  6. linux vim 命令无效,Linux vim 命令 command not found vim 命令详解 vim 命令未找到 vim 命令安装 - CommandNotFound ⚡️ 坑否...
  7. 最大团问题(使用递归和非递归两种方法)
  8. Vivado使用技巧(17):时序异常 Timing Exception
  9. SystemVerilog验证教程(二)--SystemVerilog Interface 和 Timing Region
  10. FFmpeg入门详解之11:H264BSAnalyzer简介