java短信接口,java短信接口开发实例

本文目录一览:

手机短信验证码java接口怎么写

这个首先你要确定一下短信平台,他们会给你提供短信实现的接口文档。

比如:

public static String doPost(String reqUrl, Map parameters, String recvEncoding)

{

HttpURLConnection url_con = null;

String responseContent = null;

try

{

StringBuffer params = new StringBuffer();

Iterator iter = parameters.entrySet().iterator();

while (iter

.hasNext())

{

Map.Entry element = (Map.Entry)iter.next();

params.append(element.getKey().toString());

params.append(“=”);

params.append(URLEncoder.encode(element.getValue().toString(),

requestEncoding));

params.append(“”);

}

if (params.length() 0)

{

params = params.deleteCharAt(params.length() – 1);

}

URL url = new URL(reqUrl);

url_con = (HttpURLConnection)url.openConnection();

url_con.setRequestMethod(“POST”);

System.setProperty(“sun.net.client.defaultConnectTimeout”,

String.valueOf(connectTimeOut));

System.setProperty(“sun.net.client.defaultReadTimeout”,

String.valueOf(readTimeOut));

url_con.setDoOutput(true);

byte[] b = params.toString().getBytes();

url_con.getOutputStream().write(b, 0, b.length);

url_con.getOutputStream().flush();

url_con.getOutputStream().close();

InputStream in = url_con.getInputStream();

BufferedReader rd = new BufferedReader(

new InputStreamReader(in,

recvEncoding));

String tempLine = rd.readLine();

StringBuffer tempStr = new StringBuffer();

String crlf = System.getProperty(“line.separator”);

while (tempLine != null)

{

tempStr.append(tempLine);

tempStr.append(crlf);

tempLine = rd.readLine();

}

responseContent = tempStr.toString();

rd.close();

in.close();

}

catch (IOException localIOException)

{

}

finally

{

if (url_con != null)

{

url_con.disconnect();

}

}

return responseContent;

}

public static String sendTelCode(String mobile,String telcode){

MapString ,String map = new HashMapString ,String();

map.put(“account”, “Babo”);

map.put(“mobile”, mobile);

map.put(“pswd”, “D3dddD”);

try {

map.put(“msg”, java.net.URLEncoder.encode(“您的验证码是”+telcode+”,若非本人操作请忽略”,”utf-8″));

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

String getValue = doPost(“”, map, “UTF-8”);

System.out.println(getValue);

return getValue;

}

中国移动短信接口java怎么调用

java调用运营商的接口参考:

%@page contentType=”text/html” pageEncoding=”UTF-8″%

!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”

“”

html

head

meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″

titleJSP Page/title

/head

body

h1

%

String PostData = “sname=kwsmspwd=kwsmscorpid=sprdid=101sdst=13910862579smsg=”+java.net.URLEncoder.encode(“短信内容”,”utf-8″);

//out.println(PostData);

String ret = cn.umob.sms.Send.SMS(PostData, “”);

out.println(ret);

//请自己反序列化返回的字符串并实现自己的逻辑

%

/h1

/body

/html

java短信接口发送的这三种短信,你收到过几种

不同的行业应用java短信接口的用途不一样,但大多数都是用于传递消息、加强服务、提高安全性,因而一般情况下java短信接口会发送通知类短信、问候类短信、营销类短信及广告类短信,具体的让我们一起来了解下吧。

1.通知型短信

应用java短信接口发送通知类短信的行业很多,比如教育行业会给学生发送放假通知、开学通知或者考试通知等;一些人数多的大型企业常常要应用java短信接口给员工发送开会通知、内部业绩通报、内部员工激励等信息;快递物流行业则需要发送快递领取通知短信等,此外一些婚恋机构平台或者某个家庭也可以应用java短信接口发送婚礼通知短信,比如:我亲爱的同学、朋友们,本人郑重决定于XX日终结单身生活,迈向婚姻的殿堂,在那激动人心的时刻里,希望你能来见证,为我举杯祝福!地址XX!可别迟到哦!

2.问候型短信

这类短信往往是企业出于服务的目的而发送的,为的是维护和客户之间的关系,加强跟客户之间的黏性,因而每到了过年过节或者特殊时间的时候,企业就会应用java短信接口给用户发送祝福问候类的短信,以便让用户可以想起自己,借此加深用户对企业的忠诚度还有依赖性。这类短信比较柔和,没有很强的目的性,所以比较容易让用户接受。

3.促销型短信

这是平时市民接收很多的一种短信类型了,这种短信一般都是企业出于营销推广的目的发送的,为的是刺激客户下单,或者让客户增加重复购买的的机率,因为java短信接口发送的促销短信正好是很多市民需要的,因而效果非常好,很多企业也因此收获了不少回头客。

java 通用短信接口思路

这个也没有什么复杂的。各个接口提供的API功能一致,只是程序上要设计的合理;

程序上对需要的短信发送功能进行封装,就是说,在平台上只有平台定义的发送方法或者类,那如何把这些不同的接口API集合起来,那是否可以设计成可配置的功能,比如你要变更短信猫的接口,只是简单的把短信猫所提供的JAR导入的到平台,把需要的功能方法(发送、接收、回执等)用可变的配置机制,把相关的函数方法配置到文件中。这样不就可以了;

java程序如何对接巴卜短信接口

他们的接口不限制编程语言的,无论你是JAVA、C、VB、.NET等都可以实现对接的。

短信接口是什么东西?

我来给你介绍一下短信接口就是短信SDK、API,以下就是我编辑的java短信接口,已经测试请求步骤。

单条短信接口:此接口为客户发送单条短信提供支持

安全接口

安全接口的数据传输经过加密、压缩,能够保障数据传输安全,如果有安全性要求,建议选用安全接口;

安全接口所接收、响应的数据,均经过AES加密,在数据加密前允许使用gzip算法压缩数据。

数据加密方式:AES;

加密算法:AES/ECB/PKCS5Padding;

压缩算法:gzip 【建议进行数据压缩】;

请求

链接

参数

参数类型传输方式描述appIdStringhttp头信息传输用户Appid(必填)gzipStringhttp头信息传输是否启用GZIP压缩【非必填】

on :是encodeStringhttp头信息传输字符集【非必填】

如果不填,默认UTF-8编码集,此字符集必须与实际传输数据字符集相同mobileString1、将所有参数拼装成json串后;

2、将json串进行AES加密;

3、加密后的byte数组通过post直接传输;手机号(必填)contentString短信内容(必填)timerTimeString定时发送时间(选填,定时时间在90天之内)

格式:yyyy-MM-dd HH:mm:ss

如果不填,则为即时发送customSmsIdString自定义消息ID(选填)

最长32位extendedCodeString扩展码(选填)

最长支持12位,如果最终号码长度超长,会截取扩展码,请根据我司建议位数提交requestTimelong请求时间(必填)

格式:时间毫秒数

安全验证字段,防止同一个请求重复提交;

短信平台根据requestTime与requestValidPeriod共同判断请求是否有效,针对无效的请求,短信平台响应错误;

判断方法:请求时间 + 请求有效时间 当前时间 ? 有效 : 无效;requestValidPeriodint请求有效时间(必填)[单位:秒]

描述同上示例

1、将参数拼装成json串

{

“mobile”:”15538850000″,

“content”:”【清华大学】 i love you ! “,

“timerTime”:”2017-03-15 12:00:00″,

“extendedCode”:”112″,

“customSmsId”:”2017010709302911″,

“requestTime”:1490588340964,

“requestValidPeriod”:30

}

2、将json串转化为UTF-8编码的byte数组

Byte[] data = json.toBytes[“UTF-8”];

3、如果需要gzip压缩,则压缩数据,并放入标示,[非必需步骤]

data =gzip.com (data);

http.setHead(“gzip”,”on”);

4、通过AES加密

data = AES. encryption (secretKey,data,算法);

5、将appId放入http head

http.setHead(“appId”,appId);

6、通过http post方法传输

Byte[] response = http.post(url,data);

响应

参数

参数类型传输方式描述resultStringhttp头信息传输请求状态码,详见本文档《接口状态码表》

当result不是SUCCESS时,不会响应下面参数数据。mobileString传输过来的数据是加密后的byte数组手机号smsIdString消息IDcustomSmsIdString客户自定义SMSID示例

1、从http头信息获取请求状态,如果code不是SUCCESS,不用进行下面几步

String code = http.getHead(“reasult”);

2、从响应流获取响应数据,并解密

Byte[] data = Response.getdata();

data = AES. decryption (secretKey, data,算法);

3、如果请求信息中有压缩标示,返回的数据也是压缩过的,需要解压缩;[非必须步骤]

data = GZIP.dcom(data);

4、将数据转换成JSON串

String json = new String(data,”UTF-8″);

{

“mobile”:”15538850000″,

“smsId”:”20170392833833891100″,

“customSmsId”:”20170392833833891100″

接入指导

步骤一:登录亿美软通官网

步骤二:注册并获取客户标识(AppId)和客户密钥(secretKey)账号

步骤三:参照接口文档和DEMO,对接接口并测试

步骤四:测试通过,正式上线,充值使用

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/269919.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-16 13:34
下一篇 2024-12-16 13:34

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • Python生成随机数的应用和实例

    本文将向您介绍如何使用Python生成50个60到100之间的随机数,并将列举使用随机数的几个实际应用场景。 一、生成随机数的代码示例 import random # 生成50个6…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29

发表回复

登录后才能评论