欧美xxxxx在线观看,久久午夜无码鲁丝片秋霞,久久久亚洲欧洲日产国码αv ,女人被啪呻吟aaa级毛片,久久人人爽爽爽人久久久

您的當(dāng)前位置:主頁 > 常見問題

合作客戶

方太
金伯利

聯(lián)系我們

0371-86687083
地址:鄭州市管城區(qū)紫金山路興達(dá)國貿(mào)1802室
電話:0371-86687083

常見問題

國際驗(yàn)證碼接口供應(yīng)商說說Java項(xiàng)目中短信驗(yàn)證碼登錄流程詳細(xì)步驟

2020-08-18 00:00:00    來源:www.yzdtdq.net.cn    點(diǎn)擊:3432    喜歡:0

  國際驗(yàn)證碼接口供應(yīng)商說說Java項(xiàng)目中短信驗(yàn)證碼登錄流程詳細(xì)步驟

  1、構(gòu)造手機(jī)驗(yàn)證碼:使用random對(duì)象生成要求的隨機(jī)數(shù)作為驗(yàn)證碼,例如4位驗(yàn)證碼:1000~9999之間隨機(jī)數(shù);

  2、使用接口向短信平臺(tái)發(fā)送手機(jī)號(hào)和驗(yàn)證碼數(shù)據(jù),然后短信平臺(tái)再把驗(yàn)證碼發(fā)送到制定手機(jī)號(hào)上,接口參數(shù)一般包括:目標(biāo)手機(jī)號(hào),隨機(jī)驗(yàn)證碼(或包含失效時(shí)間),平臺(tái)接口地址,平臺(tái)口令;

  3、保存接口返回的信息(一般為json文本數(shù)據(jù),然后需轉(zhuǎn)換為json對(duì)象格式);

  4、將手機(jī)號(hào)--驗(yàn)證碼、操作時(shí)間存入Session中,作為后面驗(yàn)證使用;

  5、接收用戶填寫的驗(yàn)證碼及其他數(shù)據(jù);

  6、對(duì)比提交的驗(yàn)證碼與Session中的驗(yàn)證碼是否一致,同時(shí)判斷提交動(dòng)作是否在有效期內(nèi);

  7、驗(yàn)證碼正確且在有效期內(nèi),請(qǐng)求通過,處理相應(yīng)的業(yè)務(wù)。


國際驗(yàn)證碼接口供應(yīng)商說說Java項(xiàng)目中短信驗(yàn)證碼登錄流程詳細(xì)步驟


  一,首先添加一個(gè)jar包,工具類會(huì)用到。

  <!--嘉之元的jar包-->

  <dependency>

  <groupId>commons-codec</groupId>

  <artifactId>commons-codec</artifactId>

  <version>1.11</version>

  </dependency>

  二、我這里只是編寫一個(gè)簡單的短信驗(yàn)證功能,要是用其他的語音驗(yàn)證。。。。等等需要去嘉之元官方下載文檔,下面是編寫的一個(gè)config文檔,專門存放一些參數(shù)

  二、編寫http請(qǐng)求工具類

  public class HttpUtil

  {

  /**

  *構(gòu)造通用參數(shù)timestamp、sig和respDataType

  *

  *return

  */

  public static String createCommonParam()

  {

  //時(shí)間戳

  SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");

  String timestamp=sdf.format(new Date());

  //簽名

  String sig=DigestUtils.md5Hex(Config.ACCOUNT_SID+Config.AUTH_TOKEN+timestamp);

  return"&timestamp="+timestamp+"&sig="+sig+"&respDataType="+Config.RESP_DATA_TYPE;

  }

  /**

  *post請(qǐng)求

  *

  *param url

  *功能和操作

  *param body

  *要post的數(shù)據(jù)

  *return

  *throws IOException

  */

  public static String post(String url,String body)

  {

  System.out.println("url:"+System.lineSeparator()+url);

  System.out.println("body:"+System.lineSeparator()+body);

  String result="";

  try

  {

  OutputStreamWriter out=null;

  BufferedReader in=null;

  URL realUrl=new URL(url);

  URLConnection conn=realUrl.openConnection();

  //設(shè)置連接參數(shù)

  conn.setDoOutput(true);

  conn.setDoInput(true);

  conn.setConnectTimeout(5000);

  conn.setReadTimeout(20000);

  conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

  //提交數(shù)據(jù)

  out=new OutputStreamWriter(conn.getOutputStream(),"UTF-8");

  out.write(body);

  out.flush();

  //讀取返回?cái)?shù)據(jù)

  in=new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));

  String line="";

  boolean firstLine=true;//讀第一行不加換行符

  while((line=in.readLine())!=null)

  {

  if(firstLine)

  {

  firstLine=false;

  }else

  {

  result+=System.lineSeparator();

  }

  result+=line;

  }

  }catch(Exception e)

  {

  e.printStackTrace();

  }

  return result;

  }

  /**

  *回調(diào)測(cè)試工具方法

  *

  *param url

  *param reqStr

  *return

  */

  public static String postHuiDiao(String url,String body)

  {

  String result="";

  try

  {

  OutputStreamWriter out=null;

  BufferedReader in=null;

  URL realUrl=new URL(url);

  URLConnection conn=realUrl.openConnection();

  //設(shè)置連接參數(shù)

  conn.setDoOutput(true);

  conn.setDoInput(true);

  conn.setConnectTimeout(5000);

  conn.setReadTimeout(20000);

  //提交數(shù)據(jù)

  out=new OutputStreamWriter(conn.getOutputStream(),"UTF-8");

  out.write(body);

  out.flush();

  //讀取返回?cái)?shù)據(jù)

  in=new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));

  String line="";

  boolean firstLine=true;//讀第一行不加換行符

  while((line=in.readLine())!=null)

  {

  if(firstLine)

  {

  firstLine=false;

  }else

  {

  result+=System.lineSeparator();

  }

  result+=line;

  }

  }catch(Exception e)

  {

  e.printStackTrace();

  }

  return result;

  }

  }

  三、生成四位數(shù)的方法

  public static String runNumber(){

  String str="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

  StringBuilder sb=new StringBuilder(4);

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

  {

  char ch=str.charAt(new Random().nextInt(str.length()));

  sb.append(ch);

  }

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

  String code=sb.toString();

  return code;

  }

  4、執(zhí)行方法execute(),便會(huì)發(fā)送成功

  public class IndustrySMS

  {

  private static String operation="/industrySMS/sendSMS";

  private static String accountSid=Config.ACCOUNT_SID;

  private static String to="15342349382";

  private static String smsContent="【xxxxxx】登錄驗(yàn)證碼:{"+runNumber().toString()+"},如非本人操作,請(qǐng)忽略此短信。";

  /**

  *驗(yàn)證碼通知短信

  */

  public static void execute()

  {

  String tmpSmsContent=null;

  try{

  tmpSmsContent=URLEncoder.encode(smsContent,"UTF-8");

  }catch(Exception e){

  }

  String url=Config.BASE_URL+operation;

  String body="accountSid="+accountSid+"&to="+to+"&smsContent="+tmpSmsContent

  +HttpUtil.createCommonParam();

  //提交請(qǐng)求

  String result=HttpUtil.post(url,body);

  System.out.println("result:"+System.lineSeparator()+result);

  }

上一篇:群發(fā)短信可以分為哪些類型?
下一篇:106短信群發(fā)平臺(tái)說說短信群發(fā)的好處和壞處

?
  • 服務(wù)咨詢 0371-86687083
  • 一對(duì)一貴賓級(jí)服務(wù)
  • 7X24小時(shí)技術(shù)保障
Copyright ? 2013-2017. All Rights Reserved. 鄭州嘉之元計(jì)算機(jī)科技有限公司 www.yzdtdq.net.cn 版權(quán)所有 | 增值電信業(yè)務(wù)經(jīng)營許可證:B2-20194910| 備案號(hào): 豫ICP備15030919-2號(hào)
營業(yè)執(zhí)照
圖片
[網(wǎng)站地圖] [聯(lián)系我們]
本公司主要從事:短信驗(yàn)證碼,短信接口,短信平臺(tái),群發(fā)短信,短信群發(fā) sitemap:sitemap.txt|

豫公網(wǎng)安備41010402002418號(hào)

點(diǎn)擊這里給我發(fā)消息