日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

最近在做用戶登陸注冊模塊的時候用到了采用第三方短信接口發送短信驗證碼,查詢了一些網站和參考了一些別人的方法,用的是網建短信通的,也可以阿里云平臺的或者別的平臺的。

首先還是登陸注冊用戶信息,然后進入這個網站的首頁之后我們先進入修改短信密鑰拿到自己的安全密鑰,然后進入上面的短信API接口頁面

可以看到他們官方給出了一個演示demo

import JAVA.io.UnsupportedEncodingException;

import org.Apache.commons.httpclient.Header;

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.NameValuePair;

import org.apache.commons.httpclient.methods.PostMethod;

public class SendMsg_webchinese {

public static void main(String[] args)throws Exception

{

HttpClient client = new HttpClient();

PostMethod post = new PostMethod("http://gbk.api.smschinese.cn");

post.addRequestHeader("Content-Type","
Application/x-www-form-urlencoded;charset=gbk");//在頭文件中設置轉碼

NameValuePair[] data ={ new NameValuePair("Uid", "本站用戶名"),new NameValuePair("Key", "接口安全秘鑰"),new NameValuePair("smsMob","手機號碼"),new NameValuePair("smsText","驗證碼:8888")};

post.setRequestBody(data);

client.executeMethod(post);

Header[] headers = post.getResponseHeaders();

int statusCode = post.getStatusCode();

System.out.println("statusCode:"+statusCode);

for(Header h : headers)

{

System.out.println(h.toString());

}

String result = new String(post.getResponseBodyAsString().getBytes("gbk"));

System.out.println(result); //打印返回消息狀態

post.releaseConnection();

}

}

代碼還是很容易就能看懂的,我們只需要改的是

NameValuePair[] data ={ new NameValuePair("Uid", "本站用戶名"),new NameValuePair("Key", "接口安全秘鑰"),new NameValuePair("smsMob","手機號碼"),new NameValuePair("smsText","驗證碼:8888")};

1

可以看到這個Uid就是剛剛我們注冊的用戶名,key是剛剛獲取到的密鑰,smsMob就是要發送信息的手機號了,smsText就是要發送的信息。

所以把上面的演示demo稍微修改一下就可以直接使用了:

public static HashMap<String,String> getMessageStatus(String phone)throws Exception

{

HashMap<String,String> map=new HashMap<String,String>();

String code=VerifyingCode();

HttpClient client = new HttpClient();

PostMethod post = new PostMethod("
http://gbk.api.smschinese.cn");//該第三方短信服務地址

post.addRequestHeader("Content-Type",

"
application/x-www-form-urlencoded;charset=gbk");//在頭文件中設置轉碼

NameValuePair[] data = {

new NameValuePair("Uid", "*****"),

new NameValuePair("Key", "*********"),

new NameValuePair("smsMob",phone),

new NameValuePair("smsText","您的驗證碼是"+code+",有效時間為10分鐘,請盡快驗證。")

};

map.put("code",code);

post.setRequestBody(data);

client.executeMethod(post);

Header[] headers = post.getResponseHeaders();

int statusCode = post.getStatusCode();

System.out.println("statusCode:"+statusCode);

for(Header h : headers)

{

System.out.println(h.toString());

}

String result = new String(post.getResponseBodyAsString().getBytes("gbk"));

System.out.println(result); //打印返回消息狀態,1表示發送成功,其他的小于0的為失敗

map.put("result", result);

post.releaseConnection();

return map;

}

//生成六位隨機數

public static String VerifyingCode()

{

Random random=new Random();

String code="";

for (int i=0;i<6;i++)

{

code+=random.nextInt(10);

}

System.out.println(code);

return code;

}

我的想法就是定義一個hashmap將生成的驗證碼與發送的狀態放在map里面,那么在service層上進行業務處理的時候就可以直接拿到我們剛剛發送的驗證碼進行業務處理。

最后還需要導入官方給的三個jar包,依賴如下

<dependency>

<groupId>commons-httpclient</groupId>

<artifactId>commons-httpclient</artifactId>

<version>3.1</version>

</dependency>

分享到:
標簽:Java
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定