日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

短信java_Java发送手机短信(附代码和解析,亲测有效,简便易操作)

發布時間:2023/12/14 java 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 短信java_Java发送手机短信(附代码和解析,亲测有效,简便易操作) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個方法用的是中國網建SMS短信通相關依賴進行操作的~~

很簡單,僅需要三步,第二部代碼直接復制,不需要修改,第三部中的用戶名和密鑰修改成自己的即可

<1>

首先需要導入三個jar包

<2>

import java.io.IOException;

import java.net.URL;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import org.apache.http.HttpEntity;

import org.apache.http.NameValuePair;

import org.apache.http.client.config.RequestConfig;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.conn.ssl.DefaultHostnameVerifier;

import org.apache.http.conn.util.PublicSuffixMatcher;

import org.apache.http.conn.util.PublicSuffixMatcherLoader;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.util.EntityUtils;

public class HttpClientUtil {

private RequestConfig requestConfig = RequestConfig.custom()

.setSocketTimeout(15000)

.setConnectTimeout(15000)

.setConnectionRequestTimeout(15000)

.build();

private static HttpClientUtil instance = null;

private HttpClientUtil(){}

public static HttpClientUtil getInstance(){

if (instance == null) {

instance = new HttpClientUtil();

}

return instance;

}

/**

* 發送 post請求

* @param httpUrl 地址

*/

public String sendHttpPost(String httpUrl) {

HttpPost httpPost = new HttpPost(httpUrl);// 創建httpPost

return sendHttpPost(httpPost,"utf-8");

}

/**

* 發送 post請求

* @param httpUrl 地址

* @param maps 參數

* @param type 字符編碼格式

*/

public String sendHttpPost(String httpUrl, Map maps,String type) {

HttpPost httpPost = new HttpPost(httpUrl);// 創建httpPost

// 創建參數隊列

List nameValuePairs = new ArrayList();

for (String key : maps.keySet()) {

nameValuePairs.add(new BasicNameValuePair(key, maps.get(key)));

}

try {

httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, type));

} catch (Exception e) {

e.printStackTrace();

}

return sendHttpPost(httpPost,type);

}

/**

* 發送Post請求

* @param httpPost

* @return

*/

private String sendHttpPost(HttpPost httpPost,String reponseType) {

CloseableHttpClient httpClient = null;

CloseableHttpResponse response = null;

HttpEntity entity = null;

String responseContent = null;

try {

// 創建默認的httpClient實例.

httpClient = HttpClients.createDefault();

httpPost.setConfig(requestConfig);

// 執行請求

response = httpClient.execute(httpPost);

entity = response.getEntity();

responseContent = EntityUtils.toString(entity, reponseType);

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

// 關閉連接,釋放資源

if (response != null) {

response.close();

}

if (httpClient != null) {

httpClient.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

return responseContent;

}

/**

* 發送 get請求

* @param httpUrl

*/

public String sendHttpGet(String httpUrl) {

HttpGet httpGet = new HttpGet(httpUrl);// 創建get請求

return sendHttpGet(httpGet);

}

/**

* 發送 get請求Https

* @param httpUrl

*/

public String sendHttpsGet(String httpUrl) {

HttpGet httpGet = new HttpGet(httpUrl);// 創建get請求

return sendHttpsGet(httpGet);

}

/**

* @Title: sendMsgUtf8

* @Description: TODO(發送utf8)

* @param: @param Uid

* @param: @param Key

* @param: @param content

* @param: @param mobiles

* @param: @return

* @date: 2017-3-22 下午5:58:07

* @throws

*/

@SuppressWarnings({ "rawtypes", "unchecked" })

public int sendMsgUtf8(String Uid,String Key,String content,String mobiles){

Map maps = new HashMap();

maps.put("Uid", Uid);

maps.put("Key", Key);

maps.put("smsMob", mobiles);

maps.put("smsText", content);

String result = sendHttpPost("http://utf8.sms.webchinese.cn", maps, "utf-8");

return Integer.parseInt(result);

}

/**

* @Title: sendMsgUtf8

* @Description: TODO(發送utf8)

* @param: @param Uid

* @param: @param Key

* @param: @param content

* @param: @param mobiles

* @param: @return

* @return: int

* @author: ly

* @date: 2017-3-22 下午5:58:07

* @throws

*/

@SuppressWarnings({ "rawtypes", "unchecked" })

public int sendMsgGbk(String Uid,String Key,String content,String mobiles){

Map maps = new HashMap();

maps.put("Uid", Uid);

maps.put("Key", Key);

maps.put("smsMob", mobiles);

maps.put("smsText", content);

String result = sendHttpPost("http://gbk.sms.webchinese.cn", maps, "gbk");

return Integer.parseInt(result);

}

/**

* 發送Get請求

* @param httpPost

* @return

*/

private String sendHttpGet(HttpGet httpGet) {

CloseableHttpClient httpClient = null;

CloseableHttpResponse response = null;

HttpEntity entity = null;

String responseContent = null;

try {

// 創建默認的httpClient實例.

httpClient = HttpClients.createDefault();

httpGet.setConfig(requestConfig);

// 執行請求

response = httpClient.execute(httpGet);

entity = response.getEntity();

responseContent = EntityUtils.toString(entity, "UTF-8");

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

// 關閉連接,釋放資源

if (response != null) {

response.close();

}

if (httpClient != null) {

httpClient.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

return responseContent;

}

/**

* 發送Get請求Https

* @param httpPost

* @return

*/

private String sendHttpsGet(HttpGet httpGet) {

CloseableHttpClient httpClient = null;

CloseableHttpResponse response = null;

HttpEntity entity = null;

String responseContent = null;

try {

// 創建默認的httpClient實例.

PublicSuffixMatcher publicSuffixMatcher = PublicSuffixMatcherLoader.load(new URL(httpGet.getURI().toString()));

DefaultHostnameVerifier hostnameVerifier = new DefaultHostnameVerifier(publicSuffixMatcher);

httpClient = HttpClients.custom().setSSLHostnameVerifier(hostnameVerifier).build();

httpGet.setConfig(requestConfig);

// 執行請求

response = httpClient.execute(httpGet);

entity = response.getEntity();

responseContent = EntityUtils.toString(entity, "UTF-8");

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

// 關閉連接,釋放資源

if (response != null) {

response.close();

}

if (httpClient != null) {

httpClient.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

return responseContent;

}

/**

* @Title: getErrorMsg

* @Description: TODO(返回異常原因)

* @param: @param errorCode

*/

public String getErrorMsg(int errorCode){

if(errorCode==-1){

return "沒有該用戶賬戶";

}else if(errorCode==-2){

return "接口密鑰不正確";

}else if(errorCode==-3){

return "短信數量不足";

}else if(errorCode==-4){

return "手機號格式不正確";

}else if(errorCode==-21){

return "MD5接口密鑰加密不正確";

}else if(errorCode==-11){

return "該用戶被禁用";

}else if(errorCode==-14){

return "短信內容出現非法字符";

}else if(errorCode==-41){

return "手機號碼為空";

}else if(errorCode==-42){

return "短信內容為空";

}else if(errorCode==-51){

return "短信簽名格式不正確";

}else if(errorCode==-6){

return "IP限制";

}else{

return "未知錯誤碼:"+errorCode;

}

}

}

<3>

import java.util.HashMap;

import java.util.Map;

/**

* @Title: http://www.smschinese.cn/api.shtml

* @date 2011-3-22

* @version V1.2

*/

public class test {

//用戶名

private static String Uid = "自己的用戶名";

//接口安全秘鑰

private static String Key = "自己的秘鑰";

//手機號碼,多個號碼如13800000000,13800000001,13800000002

private static String smsMob = "15321362396,15764266860";

//短信內容

private static String smsText = "驗證碼:8888";

public static void main(String[] args) {

HttpClientUtil client = HttpClientUtil.getInstance();

//UTF發送

int result = client.sendMsgUtf8(Uid, Key, smsText, smsMob);

if(result>0){

System.out.println("UTF8成功發送條數=="+result);

}else{

System.out.println(client.getErrorMsg(result));

}

}

}

總結

以上是生活随笔為你收集整理的短信java_Java发送手机短信(附代码和解析,亲测有效,简便易操作)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。