C# 开发(创蓝253)手机短信验证码接口的实例
作者:jingxian 发布时间:2023-05-22 11:15:54
标签:C#,创蓝253,手机,短信,验证码,接口
创蓝253: https://www.253.com/
#region 获取手机验证码(创蓝253)
/// <summary>
/// 获取手机验证码(创蓝253)
/// </summary>
/// <param name="phoneno">手机号</param>
/// <returns></returns>
[AllowAnonymous]
public async Task<IHttpActionResult> GetPhoneCode(string phoneno)
{
string account = "******", password = "******", mobile = phoneno;
Random rd = new Random(); int r = rd.Next(100000, 999999);
string content = "【您的签名】"+"尊敬的客户:您的验证码为" + r + "!";
string postStrTpl = "un={0}&pw={1}&phone={2}&msg={3}&rd=1";
UTF8Encoding encoding = new UTF8Encoding();
byte[] postData = encoding.GetBytes(string.Format(postStrTpl, account, password, mobile, content));
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://sms.253.com/msg/send");
myRequest.Method = "POST";
myRequest.ContentType = "application/x-www-form-urlencoded";
myRequest.ContentLength = postData.Length;
Stream newStream = myRequest.GetRequestStream();
newStream.Write(postData, 0, postData.Length);
newStream.Flush();
newStream.Close();
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
if (myResponse.StatusCode == HttpStatusCode.OK)
{
return Ok(new { code = "200", res = new { msg = "短信发送成功!", data = new { code = r } } });
}
else {
return Ok(new { code = "400", res = new { msg = "短信发送失败!" } });
}
}
#endregion
来源:https://www.cnblogs.com/yechangzhong-826217795/p/7122892.html


猜你喜欢
- Spring Cloud feign GET请求无法用实体传参代码如下:@FeignClient(name = "eureka-c
- 前言 找工作的时候,曾经用C语言练习过一段时间的算法题目,也在几个还算出名的OJ平台有过还算靠谱的排名。
- 一、this关键字1.this的类型:哪个对象调用就是哪个对象的引用类型二、用法总结1.this.data; //访问属性2.this.fu
- 一、IO流的分类字符流ReaderInputStreamReader(节点流)BufferedReader(处理流)WriterOutput
- EditText和AutoCompleteTextView设置文字选中颜色 大多数Android Rom上,文本选择的背景色都是很好看的鲜绿
- 觉得作者写得太好了,不得不收藏一下。对这个例子的理解://类型参数不能用基本类型,T和U其实是同一类型。//每次放新数据都成为新的top,把
- 缘起经过前面三章的入门,我们大概了解了Mybatis的主线逻辑是什么样子的,在本章中,我们将正式进入Mybatis的源码海洋。Mybatis
- 前言在分布式场景下为了保证数据最终一致性。在单进程的系统中,存在多个线程可以同时改变某个变量(可变共享变量)时,就需要对变量或代码块做同步(
- public interface AttributeSet { /** * Retur
- FrameLayout 在这个布局中,所有的子元素都不能被指定放置的位置,他们统统防御这块区域的左上角, 并且后面的子元素直接覆盖在前面的子
- ref和out都是C#中的关键字,所实现的功能也差不多,都是指定一个参数按照引用传递。对于编译后的程序而言,它们之间没有任何区别,也就是说它
- 1、实体类package com.yl.bean;import java.io.Serializable;import java.util.
- 本文实例讲述了C#通过xpath查找xml指定元素的方法。分享给大家供大家参考。具体如下:orders.xml文档内容如下<?xml
- 一、Activity的生命周期首先,我们来了解一下Activity典型的生命周期一个Activity从启动到结束会以如下顺序经历整个生命周期
- 使用OptionMenu只要重写两个方法public boolean onCreateOptionsMenu(Menu menu):菜单的初
- 1. Handler使用引出现在作为客户,有这样一个需求,当打开Activity界面时,开始倒计时,倒计时结束后跳转新的界面(思维活跃的朋友
- 集成配置步骤步骤1:加入 Maven 相关依赖<!-- 指定 Springboot 版本 --><parent> &
- 获取Spring中的bean有很多种方式,再次总结一下:第一种:在初始化时保存ApplicationContext对象Application
- 获得redis所有的key-value运行结果:redis配置文件需要序列化@Bean public RedisT
- 本文实例讲述了Spring实战之Bean的作用域singleton和prototype用法。分享给大家供大家参考,具体如下:一 配置<