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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

网站登录密码忘记后,通过向手机发送验证码实现找回密码的实现方法

發(fā)布時(shí)間:2023/12/13 综合教程 56 生活家
生活随笔 收集整理的這篇文章主要介紹了 网站登录密码忘记后,通过向手机发送验证码实现找回密码的实现方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天我想了一天如何實(shí)現(xiàn)網(wǎng)站用戶在忘記了密碼后,如何通過向手機(jī)發(fā)送驗(yàn)證碼來重新設(shè)置密碼。驗(yàn)證碼的驗(yàn)證以及生成都已經(jīng)做好了,現(xiàn)在主要是解決如何向用戶手機(jī)發(fā)送短信。顯然這需要一個(gè)第三方提供的短信接口,來幫助我們實(shí)現(xiàn)向用戶手機(jī)發(fā)送驗(yàn)證碼短信。這里有一個(gè)非常好的第三方借口。連接地址:http://www.xhsms.com/jiekou.aspx。他提供了一個(gè)很好的短信接口,簡(jiǎn)單易用。下面是我自己參考寫的一段測(cè)試代碼:

package com.im;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;

public class SmsBase {

	private Integer x_eid = 0;//會(huì)員企業(yè)ID號(hào),個(gè)人用戶為0
	private String x_uid = "yourname";//會(huì)員賬號(hào)
	private String x_pwd_md5 = "e10adc3949ba59abbe56e057f20f883e";//登陸密碼的MD5值32位
	private Integer x_gate_id = 300;//發(fā)送短信時(shí)通道ID,通道發(fā)送失敗可以切換其它通道,無該值系統(tǒng)使用默認(rèn)通道
	
	public String SendSms(String mobile, String content) throws UnsupportedEncodingException{
		
		Integer x_ac = 10;//發(fā)送信息
		HttpURLConnection httpconn = null;
		String x_memo = content.trim();//發(fā)送短信內(nèi)容
		StringBuilder sb = new StringBuilder();
		
		sb.append("http://gateway.woxp.cn:6630/utf8/web_api/?x_eid=");
		sb.append(x_eid);
		sb.append("&x_uid=").append(x_uid);
		sb.append("&x_pwd_md5=").append(x_pwd_md5);
		sb.append("&x_ac=").append(x_ac);
		sb.append("&x_gate_id=").append(x_gate_id);
		sb.append("&x_target_no=").append(mobile);
		sb.append("&x_memo=").append(URLEncoder.encode(x_memo, "utf-8"));
		
		String result = "-20";
		System.out.println(sb.toString());
		try {
			URL url = new URL(sb.toString());
			httpconn = (HttpURLConnection) url.openConnection();
			BufferedReader rd = new BufferedReader(new InputStreamReader(httpconn.getInputStream()));
			result = rd.readLine();
			rd.close();
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally{
			if(httpconn != null){
				httpconn.disconnect();
				httpconn = null;
			}
		}
		return result;
	}
	
	public static void main(String[] args) {
		String mobile="18782962370";
		String content="Hello";
		try {
			String result = new SmsBase().SendSms(mobile, content);
			System.out.println(result);
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
	}
}

網(wǎng)頁中參數(shù)詳細(xì)列表
編號(hào) 參數(shù)名稱 參數(shù)說明 是否必須
1 x_eid 會(huì)員企業(yè)ID號(hào),個(gè)人用戶為0
2 x_uid 會(huì)員賬號(hào)
3 x_pwd_md5 登陸密碼的MD5值
4 x_new_pwd 修改密碼時(shí)需要此參數(shù)。代表要變更的新密碼
5 x_sub_id 擴(kuò)展子號(hào)碼,發(fā)送短信時(shí)需要,根據(jù)通道是否支持子號(hào)碼擴(kuò)展而提供
6 x_target_no 接受者號(hào)碼,多個(gè)號(hào)碼用“,”分開
7 x_memo 短信發(fā)送內(nèi)容.長(zhǎng)度請(qǐng)參考通道說明(必須使用URL編碼)
8 x_send_time 定時(shí)短信,格式Y(jié)YYY-MM-DD HH:MM:SS,24小時(shí)制.值為空或無該參數(shù)代表立即發(fā)送
9 x_gate_id 發(fā)送短信時(shí)通道ID,通道發(fā)送失敗可以切換其它通道,無該值系統(tǒng)使用默認(rèn)通道
10 x_ac 本此提交的行為。比如是發(fā)送短信。查詢余額,參數(shù)值如下
參數(shù)x_ac(提交動(dòng)作)值
編號(hào) 說明
1 10 發(fā)送短信。返回失敗或成功
2 12 長(zhǎng)短信發(fā)送,最多支持450字符發(fā)送.64字每條計(jì)費(fèi).(請(qǐng)使用POST方式提交參數(shù))
3 20 查詢上行短信,分主動(dòng)(客戶自已獲取)和被動(dòng)(我們推送到指定地址)兩種方式
1.被動(dòng)接收客戶.需要提交接收上行短信的URL地址(POST+XML)方式內(nèi)容utf-8編碼
2.主動(dòng)接收短信,直接調(diào)用AC=20即可.
被動(dòng)接收提示: .NET文件調(diào)用.需要在頭設(shè)置ValidateRequest="false"參數(shù).否則返回HTTP 500服務(wù)器內(nèi)部錯(cuò)誤
4 30 查詢當(dāng)前戶剩余條數(shù)
5 40 獲取指定通道的關(guān)鍵字屏蔽字符串,發(fā)送前先過濾關(guān)鍵字再提交

參數(shù)x_ac=10發(fā)送短信時(shí)。返回值
編號(hào) 說明
1 大于0 發(fā)送成功,此次發(fā)送成功條數(shù)
2 -1 參數(shù)無效
3 -2 通道不存在或者當(dāng)前業(yè)務(wù)不支持此通道
4 -3 定時(shí)格式錯(cuò)誤
5 -4 接收號(hào)碼無效
6 -5 提交號(hào)碼個(gè)數(shù)超過上限,每個(gè)通道都有批量提交的上限.詳細(xì)值請(qǐng)參考通道說明
7 -6 發(fā)送短信內(nèi)容長(zhǎng)度不符合要求,參考通道要求長(zhǎng)度
8 -7 當(dāng)前賬戶余額不足
9 -8 網(wǎng)關(guān)發(fā)送短信時(shí)出現(xiàn)異常
10 -9 用戶或者密碼沒輸入
11 -10 企業(yè)ID或者會(huì)員賬號(hào)不存在
12 -11 密碼錯(cuò)誤
13 -12 賬戶鎖定
14 -13 網(wǎng)關(guān)狀態(tài)關(guān)閉
15 -14 驗(yàn)證用戶時(shí)執(zhí)行異常
16 -15 網(wǎng)關(guān)初始化失敗
17 -16 當(dāng)前IP已被系統(tǒng)屏蔽,可能是與您設(shè)置的接入IP不同或者是失敗次數(shù)太多
18 -17 發(fā)送異常
19 -18 賬號(hào)未審核
20 -19 當(dāng)前時(shí)間不允許此通道工作,主要對(duì)群發(fā)通道限制
21 -20 傳輸密鑰未設(shè)置,請(qǐng)登陸平臺(tái)設(shè)置
22 -21 提取密鑰異常
23 -22 簽名驗(yàn)證失敗
24 -23 發(fā)現(xiàn)屏蔽關(guān)鍵字
25 -100到-199 運(yùn)營商返回失敗代碼

總結(jié)

以上是生活随笔為你收集整理的网站登录密码忘记后,通过向手机发送验证码实现找回密码的实现方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。