一、本文目的

  • 大部分平台都有一个接入发送短信验证码、通知短信的需求。虽然市场上大部分平台的接口都只是一个非常普通的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;/*** 短信发送工具类* <p>*        http接口请求依赖 okhttp-3.14.2.jar, okio-1.17.2.jar*</p>*/
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

<?php$host = "https://api.zhuanxinyun.com/api/v2/sendSms.json";$sign = "【签名】";$app_key = "app_key";$app_secret = "app_secret";$code = "6666";$phones = "18088888888";$content = "本次验证码是".code.",如非本人操作请忽略。";$uri = $host."?appKey=".$app_key."&appSecret=".$app_secret."&phones=".$phones."&content=".$sign.$content;$ch = curl_init();$timeout = 5;curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);$contents = curl_exec($ch);curl_close($ch);var_dump($contents);//输入返回内容
?>

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":"提交成功"}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xml><errorCode>000000</errorCode><errorMsg>提交成功</errorMsg>
</xml>

技术交流

My Blog

blog.guijianpan.com

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

  1. C++开发短信验证码通知短信

    提供可靠的用户手机认证服务 异常拦截.失败补呼.语音补呼等综合手段,为您提供高可靠的用户手机验证服务. 1 C++对接验证码短信接口DEMO示例 本文为您提供了C++版本的验证码短信接口对接DEMO示 ...

  2. 使用阿里云短信服务API实现短信验证码以及短信服务通知

    使用阿里云短信服务API实现短信验证码以及短信服务通知 前言 一 .短信调用简要说明 二 .官方不带签名原生态测试demo 调用结果如下 三 .以上为不带模板和签名的API调用结果 下面加入签名和模板 ...

  3. java对接阿里云短信服务详解(验证码,推广短信,通知短信)

    前言 小前提: - java:springboot框架,maven版本管理. - 阿里云:有账号,已经进行实名认证. java对接阿里云短信服务详解(验证码,推广短信,通知短信) 前言 1. 登录阿里 ...

  4. PYTHON对接验证码通知短信API

    重要信息通知解决方案 PYTHON对接验证码短信接口DEMO示例 本文为您提供了PYTHON语言版本的验证码短信接口对接DEMO示例 更多精彩内容请查看新用户注册场景解决方案 * 接口类型:触发短信接 ...

  5. 短信验证码测试——短信轰炸之横向轰炸和纵向轰炸

    短信轰炸也分为水平轰炸和垂直轰炸.按字面意思猜一下,就像这样.据我所知,目前还有很多短信接口可以被水平轰炸,尤其是在网页中,没有对短信接口做一些必要的限制,导致无限呼叫和滥用的存在. 因为手机号码格式 ...

  6. [风一样的创作]二次封装阿里云短信 验证码 发送短信 查询短信 编辑短信

    1.首先要注册阿里云,购买阿里云短信服务,拿到AccessKey ID和AccessKey Secret 链接: https://usercenter.console.aliyun.com/#/man ...

  7. 如何通过本平台发送营销或通知短信?

    短信平台是多功能二维码应用集成的一个系统功能,除了用于二维码应用的通知外,还能单独发送营销或通知短信 1.打开微信公众号:树仔智能云端二维码,或电脑输入网址www.treeqr.cn,进入后台,点击右 ...

  8. NODE.JS语音对接验证码通知短信流程

    NODE.JS语言短信接口对接demo /* * 接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. 账户注册:请通过该地址开通账户 http://user.ihuyi.com/?D ...

  9. 手机短信验证码注册-短信平台验证码开发6

    经过前面的基础准备工作后, 就可以正式进入开发的阶段了, 我们的短信接口开发, 主要以实现手机短信验证码功能案例, 进行演示, 因为这个功能在实际项目中用得最多. 这一节课程, 我们先把手机短信验证码 ...

最新文章

  1. 记录一次与大神们的关于GAN应用于NLP的讨论
  2. 【常用技巧】标准模板库(STL)
  3. Linux进阶之路————远程登录与vim编辑器
  4. linux .i文件,Linux的文件I/O
  5. 360极速浏览器 保存的密码 查看
  6. C11中gets()的函数被删除
  7. 【推荐】 Neutralizer 安卓上特殊的均衡器
  8. orale如果是整数后面补小数点0_Win10完美整数大小磁盘分区
  9. 关于PLC控制伺服电机找原点
  10. oracle数据库imp命令,数据库imp导入命令
  11. i.MX6ULL 开发板在Ubuntu系统下实现串口通信
  12. 关闭ntp服务的 monitor monlist,解决漏洞CVE-2013-5211
  13. c语言的关键字母大小写表示,英语26个字母大小写标准写法
  14. “乌龙学院”的是是非非
  15. Canvas(画布)的使用
  16. 关于win10重新安装应用商店(Microsoft Store)的解决方案
  17. 工欲善其事,必先利其器
  18. 《国风美少年》秦子墨遭质疑崩溃落泪,失传名曲重现舞台!
  19. 如何搭建用户体验指标体系?
  20. html手机网站打不开,手机网页打不开是什么原因?网络正常但打不开网页怎么回事...

热门文章

  1. 机器学习————神经网络
  2. 来自星星的宝贝,我要如何发现你?
  3. 小学四年级认识计算机教案,四年级上信息技术教案:认识计算机内蒙版(四起点).docx...
  4. sentry mysql_Apache Sentry安装及简单使用
  5. 汇承4.0蓝牙BLE串口助手HC-COM的使用方法及出错的原因和改正方法
  6. FPGA——输入原理图实现按键控制发光二极管的亮灭
  7. JDK中java.exe,javadoc.exe,jdb.exe,javaprof.exe分别是什么,有什么作用?
  8. 白杨SEO:什么是产品运营?产品运营要求有哪些?SEO如何转行产品运营?
  9. 初识Grad-CAM
  10. iptables知识点总结