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/zh-tw/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騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 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
  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論