共計 3334 個字符,預(yù)計需要花費 9 分鐘才能閱讀完成。
本文丸趣 TV 小編為大家詳細(xì)介紹“java 短信接口怎么用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“java 短信接口怎么用”文章能幫助大家解決疑惑,下面跟著丸趣 TV 小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
短信發(fā)送接口 1.1 請求地址
請求地址是客戶接口程序調(diào)用時請求的 url 地址,采用的是 https post 接口,地址是
https://sh3.ipyy.com/sms.aspx 對應(yīng) UTF-8
https://sh3.ipyy.com/smsGBK.aspx 對應(yīng) GB2312
https://sh3.ipyy.com/smsJson.aspx 對應(yīng) UTF-8(返回值為 json 格式)
https://sh3.ipyy.com/ensms.ashx 對應(yīng) UTF-8(加密傳輸, 使用 json)
入口地址一般不會發(fā)生變化,當(dāng)發(fā)生變化的時候,會通知接口用戶
1.2 參數(shù)說明
參數(shù)名稱
含義
說明
userid
企業(yè) id
企業(yè) ID(不驗證)
account
發(fā)送用戶帳號
用戶帳號,由系統(tǒng)管理員
password
發(fā)送帳號密碼
用戶賬號對應(yīng)的密碼
可以使用明文,也可以全用 md5 加密方式,md5 采用 32 位大寫
如 abc123 加密后為
E99A18C428CB38D5F260853678922E03
mobile
全部被叫號碼
短信發(fā)送的目的號碼. 多個號碼之間用半角逗號隔開
content
發(fā)送內(nèi)容
短信的內(nèi)容,內(nèi)容需要 UTF- 8 編碼,提交內(nèi)容格式:內(nèi)容 +【簽名】。簽名是公司的名字或者公司項目名稱。示例:您的驗證碼:1439【騰飛】。【】是簽名的標(biāo)識符。請按照正規(guī)的格式提交內(nèi)容測試
sendTime
定時發(fā)送時間
為空表示立即發(fā)送,定時發(fā)送格式 2010-10-24 09:08:10
action
發(fā)送任務(wù)命令
設(shè)置為固定的:send
extno
擴(kuò)展子號
請先詢問配置的通道是否支持?jǐn)U展子號,如果不支持,請?zhí)羁铡W犹栔荒転閿?shù)字,且最多 5 位數(shù)。
例如:
https://sh3.ipyy.com/sms.aspx?action=send userid= account= 賬號 password= 密碼 mobile=15023239810,13527576163 content= 內(nèi)容 sendTime= extno=
1.3 返回值
在接收到客戶端發(fā)送的 https 請求后,返回以 xml 的方式返回處理結(jié)果。格式為:
?xml version= 1.0 encoding= utf-8 ?
returnsms
returnstatus status /returnstatus ———- 返回狀態(tài)值:成功返回 Success 失敗返回:Faild
message message /message ———- 相關(guān)的錯誤描述
remainpoint remainpoint /remainpoint ———- 返回余額
taskID taskID /taskID ———– 返回本次任務(wù)的序列 ID
successCounts successCounts /successCounts – 成功短信數(shù):當(dāng)成功后返回提交成功短信數(shù)
/returnsms
1.4 Json 返回值
{returnstatus : Success ,
message : 操作成功 ,
remainpoint : -4 ,
taskID : 1504080852350206 ,
successCounts : 1 }
package com.yy.test;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.json.JSONObject;
import sun.misc.BASE64Encoder;
public class HttpEnsms {
/**
* http 加密
* @param args
*/
public static void main(String[] args) {
SimpleDateFormat df=new SimpleDateFormat(MMddHHmmss
String Stamp = df.format(new Date());
String password= 123456
String Secret=MD5.GetMD5Code(password+Stamp).toUpperCase();
try {
JSONObject j=new JSONObject();
j.put(UserName , qq
j.put(Stamp , Stamp);
j.put(Secret , Secret);
j.put(Moblie , 17721077856 // 可以 call 協(xié)助對接
j.put(Text , 您的驗證碼是:8859【華信】
j.put(Ext ,
j.put(SendTime ,
// 獲取 json 字符串
String json=j.toString();
byte[] data=json.getBytes( utf-8
byte[] key=password.getBytes();
// 獲取加密的 key
byte[] nkey=new byte[8];
System.arraycopy(key, 0, nkey, 0, key.length 8 ? 8 : key.length);
//Des 加密,base64 轉(zhuǎn)碼
String str=new BASE64Encoder().encode(DesHelper.encrypt(data, nkey));
System.out.println(str);
//url 編碼
//str=URLEncoder.encode(str, utf-8
// 發(fā)送 http 請求
String Url= http://42.96.205.165/ensms.ashx
HttpClient client=new HttpClient();
PostMethod post=new PostMethod(Url);
post.setRequestHeader(Content-type , application/x-www-form-urlencoded;charset=utf-8
NameValuePair UserId=new NameValuePair(UserId , 1
NameValuePair Text64=new NameValuePair(Text64 ,str);
post.setRequestBody(new NameValuePair[]{UserId,Text64});
int statu=client.executeMethod(post);
System.out.println(statu= +statu);
// 返回結(jié)果
String result=post.getResponseBodyAsString();
System.out.println(result= +result);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
讀到這里,這篇“java 短信接口怎么用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。