注意:這里我必須說一句疏尿,當(dāng)我們調(diào)用它提供的API也好凉逛,還是我們自己使用HttpUrlConnection也好踊跟,云片的后臺是有調(diào)用失敗記錄(錯誤信息),我們可以根據(jù)錯誤信息快速定位的涉茧。
失敗記錄地址:https://www.yunpian.com/dashboard/smsFailure#!/smsFailure
ok赴恨,代碼基本沒有東西,就一個(gè)普通的Http請求伴栓,注意伦连,這里需要配置幾個(gè)參數(shù),我直接把我的拿出來僅供參考:
public static void main(String...args) throws IOException {
String urlString = "http://sms.yunpian.com/v2/sms/single_send.json?apikey=***************&mobile=18624915319&tpl_id=1884712&tpl_value=1234&text=【鄭州深度網(wǎng)絡(luò)科技】您的驗(yàn)證碼是1234";
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setDoInput(true);
InputStream inputStream = connection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String str = bufferedReader.readLine();
System.out.println("收到的內(nèi)容" + str);
}
apikey的值我隱藏掉了钳垮,大家根據(jù)自己的對應(yīng)就行了惑淳,還有一點(diǎn),關(guān)于模板饺窿,首先我們自己必須要在控制點(diǎn)添加一個(gè)模板汛聚,必須我添加的是“【鄭州深度網(wǎng)絡(luò)科技】您的驗(yàn)證碼是#code#”,ok短荐,那么text的參數(shù)里就是“【鄭州深度網(wǎng)絡(luò)科技】您的驗(yàn)證碼是1234”,后面的1234是我們自定義的叹哭。
結(jié)束了忍宋,其實(shí)很簡單,可能關(guān)于模板方面會令我們很醉风罩。
補(bǔ)充:上面這種請求方式在我的服務(wù)器上出現(xiàn)了請求參數(shù)中文亂碼糠排,換成下面的方式得到了解決:
@Override
public boolean sendSMSCode(String phone) {
String urlString = "http://sms.yunpian.com/v2/sms/single_send.json";
URL url = null;
try {
//驗(yàn)證碼,隨機(jī)四位數(shù)字
code = getCode();
url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Accept-Charset", "utf-8");
connection.setRequestProperty("contentType", "utf-8");
connection.setDoOutput(true);
connection.setDoInput(true);
OutputStream outputStream = connection.getOutputStream();
PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(outputStream, "utf-8"));
String con = "apikey=***************&" +
"mobile=" + phone + "&" +
"tpl_id=1884940&" +
"tpl_value=1234&text=【阿拉丁網(wǎng)絡(luò)科技】您的驗(yàn)證碼是"+code;
printWriter.write(con);
printWriter.flush();
InputStream inputStream = connection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "utf-8"));
String str = bufferedReader.readLine();
System.out.println("云片短信:" + str);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
結(jié)束,做個(gè)記錄超升。
筆者能力有限入宦,不足之處歡迎之處。