中國網建java發送短信_短信驗證登陸-中國網建提供的SMS短信平臺

一、JAVA發送手機短信常見的有三種方式(如下所列):

使用webservice接口發送手機短信,這個可以使用sina提供的webservice進行發送,但是需要進行注冊

使用短信mao的方式進行短信的發送,這種方式應該是比較的常用,前提是需要購買硬件設備。

二、一下整理了SMS短信驗證過程:

1、首先需要帶入三個包:

commons-httpclient-3.1.jar? ? ??commons-logging-1.0.4.jar? ? ??codec-1.3.jar

2、創建發送短信的類(一般寫在工具類中),其中要通過短信內容要進行設置編碼集為utf-8,調用第三方接口傳參要按照第三方文檔規范:

packagecom.demo.util;importjava.io.IOException;importjava.util.Map;importorg.apache.commons.httpclient.HttpClient;importorg.apache.commons.httpclient.HttpException;importorg.apache.commons.httpclient.SimpleHttpConnectionManager;importorg.apache.commons.httpclient.methods.GetMethod;importorg.apache.commons.httpclient.methods.PostMethod;public classHttpRequestUtil {/*** HttpClient 模擬POST請求*/

public static String postRequest(String url, Mapparams) {//構造HttpClient的實例

HttpClient httpClient = newHttpClient();//創建POST方法的實例

PostMethod postMethod = newPostMethod(url);//設置請求頭信息

postMethod.setRequestHeader("Connection", "close");//添加參數

for (Map.Entryentry : params.entrySet()) {

postMethod.addParameter(entry.getKey(), entry.getValue());

}//使用系統提供的默認的恢復策略,設置請求重試處理,用的是默認的重試處理:請求三次

httpClient.getParams().setBooleanParameter("http.protocol.expect-continue", false);//接收處理結果

String result = null;try{//執行Http Post請求

httpClient.executeMethod(postMethod);//返回處理結果

result =postMethod.getResponseBodyAsString();

}catch(HttpException e) {//發生致命的異常,可能是協議不對或者返回的內容有問題

System.out.println("請檢查輸入的URL!");

e.printStackTrace();

}catch(IOException e) {//發生網絡異常

System.out.println("發生網絡異常!");

e.printStackTrace();

}finally{//釋放鏈接

postMethod.releaseConnection();//關閉HttpClient實例

if (httpClient != null) {

((SimpleHttpConnectionManager) httpClient.getHttpConnectionManager()).shutdown();

httpClient= null;

}

}returnresult;

}/*** HttpClient 模擬GET請求*/

public static String getRequest(String url, Mapparams) {//構造HttpClient實例

HttpClient client = newHttpClient();//拼接參數

String paramStr = "";for(String key : params.keySet()) {

paramStr= paramStr + "&" + key + "=" +params.get(key);

}

paramStr= paramStr.substring(1);//創建GET方法的實例

GetMethod method = new GetMethod(url + "?" +paramStr);//接收返回結果

String result = null;try{//執行HTTP GET方法請求

client.executeMethod(method);//返回處理結果

result =method.getResponseBodyAsString();

}catch(HttpException e) {//發生致命的異常,可能是協議不對或者返回的內容有問題

System.out.println("請檢查輸入的URL!");

e.printStackTrace();

}catch(IOException e) {//發生網絡異常

System.out.println("發生網絡異常!");

e.printStackTrace();

}finally{//釋放鏈接

method.releaseConnection();//關閉HttpClient實例

if (client != null) {

((SimpleHttpConnectionManager) client.getHttpConnectionManager()).shutdown();

client= null;

}

}returnresult;

}

}

packagecom.demo.util;importjava.net.URLEncoder;importjava.util.HashMap;importjava.util.Map;public classSendMsgUtil {/*** 發送短信消息*/@SuppressWarnings("deprecation")public staticString sendMsg(String phones,String content){//短信接口URL提交地址utf-8

String url = "http://utf8.sms.webchinese.cn";

Map params = new HashMap();//用戶名,例:abc123456

params.put("Uid", "yu3961520");//短信接口密鑰 ,不是密碼,例:79c3053154d313a34567

params.put("Key", "d41d8cd98f00b204e980");//手機號碼,多個號碼使用英文逗號進行分割

params.put("smsMob", phones);//將短信內容進行URLEncoder編碼

params.put("smsText", URLEncoder.encode(content));returnHttpRequestUtil.getRequest(url, params);

}/*** 隨機生成6位隨機驗證碼*/

public staticString createRandomVcode(){//驗證碼

String vcode = "";for (int i = 0; i < 6; i++) {

vcode= vcode + (int)(Math.random() * 9);

}returnvcode;

}/*** 測試*/

public static voidmain(String[] args) {//多個手機號請用半角,隔開//例:System.out.println(sendMsg("18912345678,17812345678", "尊敬的用戶,您的驗證碼為" + SendMsgUtil.createRandomVcode() + ",有效期為60秒,如有疑慮請詳詢400-3023-4493(客服電話)【中國聯通】"));

System.out.println(sendMsg("電話號碼", "*****,你的驗證碼為" + SendMsgUtil.createRandomVcode() + ",有效期為60秒,如有疑慮請詳詢(******)【簽名,這是驗證格式的必須填】"));

}

}

3、短信發送后返回值 說明 :

-1 沒有該用戶賬戶

-2 密鑰不正確(不是用戶密碼)

-3 短信數量不足

-11 該用戶被禁用

-14 短信內容出現非法字符

-41 手機號碼為空

-42 短信內容為空

大于0 短信發送數量

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/533916.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/533916.shtml
英文地址,請注明出處:http://en.pswp.cn/news/533916.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

stm32外部中斷_STM32學習筆記 | 電源管理及低功耗設計要點

一款好的電子產品&#xff0c;都需要認真考慮電源管理的問題&#xff0c;電池供電的產品更應該注意低功耗的實現。 STM32電源介紹嵌入式開發直播課 - STM32 USART串口的應用 - 創客學院直播室?www.makeru.com.cn每一塊STM32芯片中都有一個電源控制器&#xff08;PWR&#xff0…

delphi 調用瀏覽器內核_HFL:基于混合模糊測試的Linux內核漏洞挖掘

RemarksConference: NDSS 2020Full Paper: HFL: Hybrid Fuzzing on the Linux KernelSummary針對的問題&#xff1a; Linux 操作系統內核安全漏洞的發現需要新技術。現有解決方案的不足&#xff1a;當前的模糊測試技術難以直接應用于內核安全漏洞發現。提出的創新方案概述&…

隔行變色java代碼_jquery入門—選擇器實現隔行變色實例代碼

1、JQuery選擇器繼承了CSS、path語音的部分語法&#xff0c;允許通過標簽名、屬性名、內容對DOM元素進行快速、準確的選擇。2、JQuery選擇器與JavaScript相比&#xff0c;具有代碼簡單、完善的檢測機制的優勢。3、使用JQuery選擇器實現隔行變色&#xff0c;示例代碼如下&#x…

python arduino c_從Python向Arduino LCD發送一個字符串

我想用python在arduinolcd16x2上顯示一個字符串&#xff0c;但是我遇到了串行通信的問題。在以下是Arduino中運行的代碼&#xff1a;Arduino代碼#include LiquidCrystal lcd(8, 9, 4, 5, 6, 7);String stringa;const unsigned long TimeOut 10; // timeout 10 msString string…

如何實現軟件的遠程更新_手機免root終于也能實現遠程控制了 這款國產軟件真是越來越好用...

說到遠程控制&#xff0c;大家或許可以說出好幾個應用軟件出來&#xff0c;比如Teamviewer、Anydesk、向日葵等等。其實&#xff0c;這些軟件我都用過&#xff0c;但Teamviewer現在對個人用戶經常宕機&#xff0c;Anydesk的功能又不夠豐富&#xff0c;只有一個向日葵遠程控制是…

角標越界 Java_【新人求助】利用占位符操作數據庫是總是提示數組角標越界是怎么回事 - Java論壇 - 51CTO技術論壇_中國領先的IT技術社區...

用占位符和數組來操作數據庫總是提示下角標越界&#xff0c;找了半天也沒弄明白哪里有問題&#xff0c;這個地方是跟著云課堂老師的講解做的&#xff0c;只不過操作的數據表不一樣&#xff0c;但是老師那個就沒問題&#xff0c;我就出了問題&#xff0c;如果有大神能幫忙看看&a…

簡述ospf的工作原理_現代數字存儲示波器的工作原理簡述

示波器是一種用途十分廣泛的電子測量儀器。俗話說&#xff0c;電是看不見摸不著的。但是示波器可以幫我們“看見”電信號&#xff0c;便于人們研究各種電現象的變化過程。所以示波器的核心功能&#xff0c;就和他的名字一樣&#xff0c;是顯示電信號波形的儀器&#xff0c;以供…

pyecharts 間距_高月雙色球20108期:紅球首尾間距參考29區段

雙色球第2020108期獎號為&#xff1a;03 09 11 24 25 28 16&#xff0c;紅球和值&#xff1a;100&#xff0c;重號2個&#xff1a;11 28&#xff0c;首尾間距&#xff1a;25。和值&#xff1a;上期和值為100&#xff0c;上升了22點&#xff0c;再次開出小和值&#xff0c;最近…

java類中聲明log對象_用于Android環境,java環境的log打印,可打印任何類型數據

LogXixi用于Android環境&#xff0c;java環境的log打印&#xff0c;可打印任何類型數據,根據android項目環境debug環境自動打開&#xff0c;release環境自動關閉android環境log打印&#xff0c;規范bean對象&#xff0c;json&#xff0c;xml對應log&#xff0c;crash捕捉&#…

xbox手柄接收器驅動_xbox手柄連接 win10電腦

xbox手柄 連接win10筆記本 分為三種連接方式&#xff1a;有線藍牙無線適配器首先說明一下連接方式的特點然后說明連接方式第一種&#xff1a;有線連接 手柄直接通過micro USB數據線和win10電腦連接。這一步最簡單&#xff0c;一般電腦會自動安裝驅動&#xff0c;連接之后可以使…

單片機復位后為什么要對sp重新賦值_51單片機系列之2點亮第一個led小燈

點亮led燈簡單的理解就是要求陽極高電平陰極低電平。接下來我們去看看單片機的原理圖&#xff0c;找到led 模塊。如圖可以看到led的陽極是連接的VCC(電源高電平)陰極連接的接口是單片機的I/O口P20到P27.要想led點亮只需控制單片機I/O口輸出低電平即可(單片機I/O口默認高電平)。…

db2與mysql編目_DB2編目、聯邦數據庫 - Goopand's OS Space - OSCHINA - 中文開源技術交流社區...

一、兩個數據庫在不同的服務器上[環境描述]10.0.0.10&#xff1a;庫名為 db_1010.0.0.17&#xff1a;庫名為 db_17[需求描述]在db_17庫中&#xff0c;跨庫查詢db_10庫的表[操作步驟]1)在10.0.0.17數據庫服務器&#xff0c;開啟聯邦支持db2 "update dbm cfg using federate…

關機時無人照管更新正在運行_無法抗拒的未來:無人叉車在內部物流中已成為現實...

自動化和半自動化的叉車不再是新奇的東西&#xff0c;在人力短缺的倉庫中取得了進展。他們最終會成為規范嗎?目前尚不知道全世界有多少輛無人駕駛叉車(也稱為自動叉車、機器人叉車或者AGV)售出。但是叉車生產商都顯示出&#xff0c;它在該領域的迅速增長。重要的是&#xff0c…

打開瀏覽器不是主頁_對于360瀏覽器的一些小小改善

?雖然自己不怎么喜歡&#xff0c;但是以前小編的多數同事都在使用它&#xff0c;所以今天帶來360安全瀏覽器改造的小建議。整理&排版 | idea君 &#xff0c;預計閱讀 | 4分鐘文章意在學習交流分享&#xff0c;如有侵權請聯系刪除封面&#xff1a;http://www.pexels.com/zh…

c++ 二次開發 良田高拍儀_六枝特良田LYV-850加工中心導軌配套防護罩日常維修

六枝特良田LYV-850加工中心導軌配套防護罩日常維修我廠生產的防護罩質量可與原廠的一樣&#xff0c;同樣的保障&#xff0c;質保期為一年&#xff0c;護罩安裝不合適支持退換貨。尤其是元件連結的接合面剛度&#xff0c;對加工精度影響較大。通常&#xff0c;采用組合夾具時其尺…

atomikosdatasourcebean mysql_SpringBoot2整合JTA組件實現多數據源事務管理

一、JTA組件簡介1、JTA基本概念JTA即Java-Transaction-API&#xff0c;JTA允許應用程序執行分布式事務處理&#xff0c;即在兩個或多個網絡計算機資源上訪問并且更新數據。JDBC驅動程序對JTA的支持極大地增強了數據訪問能力。XA協議是數據庫層面的一套分布式事務管理的規范,JTA…

crt 8.7.3 黑暗模式_民謠纏繞厄運金屬,抒情中的黑暗故事

2020/7/31&#xff0c;瑞典厄運/重金屬樂隊Dun Ringill&#xff0c;發表了新專輯“Library of Death”。“Library Of Death”是瑞典樂隊Dun Ringill的第二張唱片&#xff0c;由The Order of Israfel、Doomdogs等成員發起。樂隊的聲音&#xff0c;介于重金屬和厄運金屬之間&…

前窗玻璃膜貼了一周還有氣泡_關于車窗玻璃的養護你了解多少?

【中國皮卡網 維修保養】車窗玻璃的養護是最容易忽視的&#xff0c;但它也是非常重要的&#xff0c;雖然在用車過程中我們很少直接接觸車窗玻璃&#xff0c;但是它卻時時刻刻在影響著駕駛者。相信很多人會有洗車的習慣&#xff0c;洗好之后的車窗玻璃非常明亮&#xff0c;不僅僅…

c語言新龜兔賽跑_幽默 | 新龜兔賽跑

新龜兔賽跑作者 / 何必加自從輸給了烏龜后&#xff0c;兔子心里很是生氣。這一天&#xff0c;他又遇見了烏龜&#xff0c;要求和他比賽&#xff0c;一定要一雪前恥。烏龜答應了&#xff0c;并且約定連比三場。第一場還是兔子輸了&#xff0c;原來他一著急&#xff0c;跑錯了方向…

PHP無法執行MySQL語句,解決PHP執行批量MySQL語句的問題

這篇文章主要為大家詳細介紹了解決PHP執行批量MySQL語句的問題&#xff0c;具有一定的參考價值&#xff0c;可以用來參考一下。感興趣的小伙伴&#xff0c;下面一起跟隨512筆記的小玲來看看吧&#xff01;當有多條mysql語句連起來需要執行&#xff0c;比如$sqls “insert table…