您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“java短信接口怎么用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“java短信接口怎么用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
請求地址是客戶接口程序調用時請求的url地址,采用的是https post 接口,地址是
https://sh3.ipyy.com/sms.aspx 對應UTF-8
https://sh3.ipyy.com/smsGBK.aspx 對應GB2312
https://sh3.ipyy.com/smsJson.aspx 對應UTF-8(返回值為json格式)
https://sh3.ipyy.com/ensms.ashx 對應UTF-8(加密傳輸,使用json)
入口地址一般不會發生變化,當發生變化的時候,會通知接口用戶
參數名稱 | 含義 | 說明 |
userid | 企業id | 企業ID(不驗證) |
account | 發送用戶帳號 | 用戶帳號,由系統管理員 |
password | 發送帳號密碼 | 用戶賬號對應的密碼 可以使用明文,也可以全用md5加密方式,md5采用32位大寫 如abc123加密后為 E99A18C428CB38D5F260853678922E03 |
mobile | 全部被叫號碼 | 短信發送的目的號碼.多個號碼之間用半角逗號隔開 |
content | 發送內容 | 短信的內容,內容需要UTF-8編碼,提交內容格式:內容+【簽名】。簽名是公司的名字或者公司項目名稱。示例:您的驗證碼:1439【騰飛】。【】是簽名的標識符。請按照正規的格式提交內容測試 |
sendTime | 定時發送時間 | 為空表示立即發送,定時發送格式2010-10-24 09:08:10 |
action | 發送任務命令 | 設置為固定的:send |
extno | 擴展子號 | 請先詢問配置的通道是否支持擴展子號,如果不支持,請填空。子號只能為數字,且最多5位數。 |
例如:
https://sh3.ipyy.com/sms.aspx?action=send&userid=&account=賬號&password=密碼&mobile=15023239810,13527576163&content=內容&sendTime=&extno=
在接收到客戶端發送的https請求后,返回以xml的方式返回處理結果。格式為:
<?xml version="1.0" encoding="utf-8" ?>
<returnsms>
<returnstatus>status</returnstatus> ---------- 返回狀態值:成功返回Success 失敗返回:Faild
<message>message</message> ---------- 相關的錯誤描述
<remainpoint> remainpoint</remainpoint> ---------- 返回余額
<taskID>taskID</taskID> ----------- 返回本次任務的序列ID
<successCounts>successCounts</successCounts> --成功短信數:當成功后返回提交成功短信數
</returnsms>
{"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協助對接
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轉碼
String str=new BASE64Encoder().encode(DesHelper.encrypt(data, nkey));
System.out.println(str);
//url編碼
//str=URLEncoder.encode(str, "utf-8");
//發送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);
//返回結果
String result=post.getResponseBodyAsString();
System.out.println("result="+result);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
讀到這里,這篇“java短信接口怎么用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。