千家信息网

云平台短信验证码通知短信java/php/.net开发实现

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,一、本文目的大部分平台都有一个接入发送短信验证码、通知短信的需求。虽然市场上大部分平台的接口都只是一个非常普通的HTTP-GET请求,但终归有需要学习和借鉴使用的朋友。本文的初衷是主要提供学习便利,方
千家信息网最后更新 2025年12月01日云平台短信验证码通知短信java/php/.net开发实现

一、本文目的

  • 大部分平台都有一个接入发送短信验证码、通知短信的需求。虽然市场上大部分平台的接口都只是一个非常普通的HTTP-GET请求,但终归有需要学习和借鉴使用的朋友。
  • 本文的初衷是主要提供学习便利,方便初学者学习简单的http接口对接实现,由于各大短信通道服务商API参数基本相同,本Demo可以适当减少开发者对接短信通道接口的开发成本,提供参考。
  • 若有朋友不想从文章中复制源码,需要直接下载,源码已上传至GitHub。
  • GitHub传送门:https://github.com/yzchen0o0/demo-sms

二、发送短信接口请求

  • 请求参数模板
    https://{{url}}?appKey={{app_key}}&appSecret={{app_secret}}&phones={{mobile}}&content=【{{sign}}】{{content}}
  • 示例
    https://xxxyun.com/sendsms?appKey=aaaaa&appSecret=bbbb&phones=13888888888&content=【某云】您的验证码是:666666

    三、参数描述

参数名说明
url请求地址
app_key客户在供应商注册的唯一key码
app_secret客户在供应商注册的唯一secret码
mobile接收短信的用户手机号
sign短信内容的产品名称

四、各开发语言实现

1、Java

import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response;/** * 短信发送工具类 * 

* http接口请求依赖 okhttp-3.14.2.jar, okio-1.17.2.jar *

*/public class SmsUtil { private static final String HOST = "https://api.zhuanxinyun.com/api/v2/sendSms.json"; private static final String SIGN = "【签名】"; private static final String APP_KEY = "app_key"; private static final String APP_SECRET = "app_secret"; /** * 测试请求 * @param args */ public static void main(String[] args) { String mobile = "18566770000"; String code = "666666"; String body = sendSmsCode(mobile, code); System.out.println(body); } /** * 发送短信验证码 * @param mobile 接收手机号 * @param code 验证码 */ public static String sendSmsCode(String mobile, String code) { StringBuffer content = new StringBuffer().append("验证码:" ).append(code).append(",如非本人操作请忽略。"); return sendSms(mobile, content.toString()); } /** * 发送短信信息 * @param mobile 接收手机号 * @param content 短信内容 */ public static String sendSms(String mobile, String content) { // 拼接请求参数 StringBuffer url = new StringBuffer().append(HOST).append("?appKey=").append(APP_KEY).append("&appSecret=") .append(APP_SECRET).append("&phones=").append(mobile).append("&content=").append(SIGN).append(content); // 封装请求参数 Request request = new Request.Builder().url(url.toString()).get().build(); OkHttpClient client = new OkHttpClient(); try { // 发起请求 Response response = client.newCall(request).execute(); return response.body().string(); } catch (Exception e) { e.printStackTrace(); } return null; }}

2、php

3、.Net

using System;using System.IO;using System.Net;using System.Text;namespace SmsCode{    class Program    {        private static  String HOST = "https://api.zhuanxinyun.com/api/v2/sendSms.json";        private static  String SIGN = "【签名】";        private static  String APP_KEY = "app_key";        private static  String APP_SECRET = "APP_SECRET";        static void Main(string[] args)        {            string mobile = "手机号";            string code = "内容";            string body = sendSmsCode(mobile, code);            Console.WriteLine(body);        }        /**        * 发送短信验证码        * @param mobile     接收手机号        * @param code           验证码        */        public static String sendSmsCode(String mobile, String code)        {            StringBuilder content = new StringBuilder().Append("验证码:").Append(code).Append(",如非本人操作请忽略。");            return sendSms(mobile, content.ToString());           // StringBuilder        }        /**        * 发送短信信息        * @param mobile     接收手机号        * @param content        短信内容        */        public static string sendSms(String mobile, String content)        {            string msg = string.Empty;            // 拼接请求参数            StringBuilder url = new StringBuilder().Append(HOST).Append("?appKey=").Append(APP_KEY).Append("&appSecret=")                    .Append(APP_SECRET).Append("&phones=").Append(mobile).Append("&content=").Append(SIGN).Append(content);            // 封装请求参数            try            {                // 发起请求                 msg = Request_GET(url.ToString(), "UTF-8");            }            catch (Exception ex)            {                msg=ex.Message;            }            return msg;        }        public static string Request_GET(string urlString, string encoding)        {            HttpWebRequest httpWebRequest = null;            HttpWebResponse httpWebResponse = null;            Stream stream = null;            StreamReader streamReader = null;            string result = string.Empty;            try            {                httpWebRequest = (WebRequest.Create(urlString) as HttpWebRequest);                httpWebRequest.Method = "GET";                //httpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; Maxthon 2.0)";                httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();                stream = httpWebResponse.GetResponseStream();                streamReader = new StreamReader(stream, Encoding.GetEncoding(encoding));                result = streamReader.ReadToEnd();            }            catch (SystemException ex)            {                result = "err:" + ex.Message;            }            finally            {                if (httpWebRequest != null)                {                    httpWebRequest.Abort();                }                if (httpWebResponse != null)                {                    httpWebResponse.Close();                }                if (stream != null)                {                    stream.Close();                }                if (streamReader != null)                {                    streamReader.Close();                }            }            return result;        }    }}

五、返回值

{"errorCode":"000000","errorMsg":"提交成功"}
    000000    提交成功

技术交流

My Blog

blog.guijianpan.com

短信 验证 参数 手机 手机号 接口 内容 开发 学习 平台 成功 供应商 信息 大部分 客户 朋友 源码 通道 供应 封装 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发必去K湖南岚鸿 王东峰网络安全信息化 临沂企业党建软件开发系统 php二维数组遍历数据库 重庆通管局网络安全管理处负责人 软件开发项目推荐 通化数据库管理工程师资格证 广州初越网络技术有限公司 防火墙是网络安全中的应用 速读数据库 数据库时标技术的特点 人工智能和软件开发的区别 网络安全公司500强 服务器销售税率是多少 如何在方舟生存进化中创造服务器 崇明区咨询软件开发服务费 二十大网络安全公司排名 信息化软件开发设施服务标准 西安邮电大学数据库期末答案 江苏软件开发有哪些公司 网络安全带来的行业 河北java软件开发需要多少钱 现在企业用什么连接远程服务器 福建服务器电源厂家报价 服务器里东西怎么弄出来的 冒险岛2服务器大全 网络安全公司500强 港口网络安全 如何测试本地到服务器的延迟 网络安全的填空题
0