C#实现如何使用短信平台自动通知用户实例
作者:chunchunlaila 发布时间:2022-04-21 07:51:40
标签:C#,短信,自动,通知
目前市面上的第三方短信服务平台数量十分庞大,并能为企业提供三网合一的短信接口,这些服务商通过整合短信发送服务,简单的打包成为API和SDK接口提供给企业,企业只需要在自己公司的平台上接入这些接口就可以实现,短信平台自动发送的功能,企业接入这些短信平台接口的流程十分简单,方式也不复杂。
使用中昱维信第三方平台接口
平台通过第三方公司提供接口实现短信群发,以下为中昱维信的短信群发示例:
var client = new RestClient("https://vip.veesing.com/smsApi/group?appId=35LC8QJRI2YR&appKey=YKU2JJCN4KD9BEHN&phone=18302999492&content=【中昱维信】您的短信群发功能已开通,请在3个工作日之内至平台进行企业认证!");
//构建post请求
var request = new RestRequest(Method.POST);
//设置请求头部参数
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Connection", "keep-alive");
request.AddHeader("Content-Length", "0");
request.AddHeader("Accept-Encoding", "gzip, deflate");
request.AddHeader("Host", "vip.veesing.com");
request.AddHeader("Postman-Token", "77d8b8d3-7fe6-4dee-a157-f42701ee4cbe,04f24c10-e7da-4ca7-9729-e6e727770c9f");
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Accept", "*/*");
request.AddHeader("User-Agent", "PostmanRuntime/7.19.0");
IRestResponse response = client.Execute(request);
Console.WriteLine(response);
Console.ReadKey();
平台通过第三方公司提供接口实现短信群发,以下为中昱维信的短信验证示例:
var client = new RestClient("https://vip.veesing.com/smsApi/verifyCode?appId=35LC8QJRI2YR&appKey=YKU2JJCN4KD9BEHN&phone=18302999492&templateId=540&variables=1234");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Connection", "keep-alive");
request.AddHeader("Content-Length", "0");
request.AddHeader("Accept-Encoding", "gzip, deflate");
request.AddHeader("Host", "vip.veesing.com");
request.AddHeader("Postman-Token", "77d8b8d3-7fe6-4dee-a157-f42701ee4cbe,04f24c10-e7da-4ca7-9729-e6e727770c9f");
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Accept", "*/*");
request.AddHeader("User-Agent", "PostmanRuntime/7.19.0");
C#调用第三方平台实现发送验证码
private void button2_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" || textBox1.Text.Length != 11)//手机号输入框
{
MessageBox.Show("请输入正确的手机号码");
}
else
{
//生成一个随机数 四位的
Random random = new Random();
int value = random.Next(1000, 10000);//用rad生成大于等于1000,小于等于9999的随机数;
string suijishu = value.ToString(); //转化为字符串;
shu = suijishu;
var client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com", "你的appId", "你的appSecret");
var parameters = new Dictionary<string, string>();
parameters.Add("message", "尊敬的用户:您的验证码为 " + suijishu);
parameters.Add("number", textBox1.Text);
//parameters.Add("clientIp", "792.168.2.222");
//parameters.Add("messageId", "");
var result = client.Send(parameters);
string v = result.ToString().Substring(8, 1);
if (v == "0")
{
MessageBox.Show("短信发送成功");
timer1.Start();
}
else
{
MessageBox.Show("短信验证码发送失败");
}
}
}
下面是计时器timer1的代码:
int i = 60;
private void timer1_Tick(object sender, EventArgs e)
{
if (i == 0)
{
timer1.Stop();
button2.Text = "获取验证码";
button2.Enabled = true;
}
else
{
i--;
button2.Text = i.ToString ();
button2.Enabled = false;
}
}
登录按钮的具体代码:
public static string shu;
if (shu == textBox2.Text)//验证码输入框
{
MessageBox.Show("登录成功");
}
else
{
MessageBox.Show("登录失败");
}
来源:https://blog.csdn.net/chunchunlaila/article/details/104451604
0
投稿
猜你喜欢
- JDK 1.5开始提供ScheduledThreadPoolExecutor类,ScheduledThreadPoolExecutor类继承
- 人们常说堆栈堆栈,堆和栈是内存中两处不一样的地方,什么样的数据存在栈,又是什么样的数据存在堆中?这里浅谈Java中的栈和堆首先,将结论写在前
- 前言最近工作上遇到很多批量插入的场景,但是百度很难得到我想要的结果,而且查出来的效果不是很好~所以就自己来写一份给大家参考,希望对大家有用M
- 1、概念向下转型就是父类对象转成子类对象。我们把一个父类引用 Animal类型的引用 给了一个 Bird类型 的引用,这就是向下转型2、格式
- 这篇文章主要介绍了SpringBoot Jpa分页查询配置方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 功能:解决web站点的登录,权限验证,授权等功能优点:在不影响站点业务代码,可以权限的授权与验证横切到业务中1、要添加的依赖<!--t
- windows系统中的画板工具,有好几种画刷,C#中并没有直接对应可使用的类,只能自己研究。1.画刷原理根据本人对PS的相关功能细心分析,发
- c#中的CultureInfo类CultureInfo类位于System.Globalization命名空间内,这个类和命名空间许多人都不是
- bootstrap.yml和bootstrap.properties优先级直接先说结论 bootstrap.properties 优于boo
- 引言设计: 嗯? 这个图片点击跳转进详情再返回图片怎么变白闪一下呢?产品: 是啊是啊! 一定是个bug开发: 囧囧囧在开发过程中, 也许你也
- 这篇文章主要介绍了Springboot2.0处理自定义异常并返回json,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 近期,Apache SkyWalking 修复了一个隐藏了近4年的Bug - TTL timer 可能失效问题,这个 bug 在 SkyWa
- 前言:使用 interrupt 来通知线程停止运行,而不是强制停止!普通情况停止线程public class Right
- 在平时的工作中,估计大多数都做过轮询调度的任务,比如定时轮询数据库同步,定时邮件通知等等。大家通过windows计划任务,windows服务
- 本文实例讲述了Android TextView显示Html类解析的网页和图片及自定义标签。分享给大家供大家参考,具体如下:Android系统
- 最近安装了idea,觉得比eclipse好用很多,今天不知道为啥yml文件就不识别了,上面显示一个问号,我查了半天,解决办法就是安装一个插件
- 概述在移动应用开发中,消息推送可以说是一项非常重要的功能,它能够起到提醒或者唤醒用户的作用,同时也是产品运营人员更高效地实现运营目标的重要手
- 目录背景实体类示例一示例二背景以前常用的排序方式是通过实现Comparator接口来进行排序,写法相对来说比较复杂,使用Comparator
- java通过IP解析地理位置在项目开发中,需要在登录日志或者操作日志中记录客户端ip所在的地理位置。目前根据ip定位地理位置的第三方api有
- 本文实例为大家分享了java GUI学生图书管理的具体代码,供大家参考,具体内容如下- mysql数据库建表:1.book表 2.bs借书记