大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 使用Java進行微信平臺開發的教程

使用Java進行微信平臺開發的教程

更新時間:2022-07-19 08:09:53 來源:動力節點 瀏覽1457次

1.最初微信公眾平臺

微信公眾平臺,即平時發現我們所說的“公眾號”,曾用名“官方平臺”、“媒體平臺”,但被冠以“公眾平臺”。 媒體使用的平臺,是對所有公眾都開放的統一平臺。

微信公眾平臺地址:https://mp.weixin.qq.com/

公眾平臺公分4大規劃:我們的微信訂閱號、服務號、企業號。按照2016年公開微信公開課,企業信號將與企業微信聯合,因此主要針對前三部分開始講解:

簡單對比一下前三者的區別以及本次即課程的講解重點:

(1)訂閱號和服務號傳統消息意義的“公眾號”,具有群發能力,詳細區別在官方平臺查看:http : //kf.qq.com/faq/140806zARbmm140826M36RJF.html我們可以引用能力能力在服務方面,而同時開發模式,同時使用更多的服務號,可以使用更多的接口,而“號”的詞是“割割服務號”的。案例進行操作。

(2)微小程序,原本為“微應用號”,在微生態系統中的應用蘋果和谷歌的限制,“應用號”未上線便便,取而代之即是根信根植信根割的“2”微信小程序其堪比程序的運行體驗,也“微杰瑞小而成為時下火的開發方向。而全新的H5 開發課程,也將參與時下火爆的信小程序開發。

2.開發賬戶準備

(1)賬號注冊

微公眾平臺“進入微信公眾平臺, 點擊用戶立即訂閱”,點擊“用戶訂閱號”,選擇“服務號”選擇機構注冊,個人訂閱號)

重新注冊時需重新填寫申報信息,根據提示可以,此處不做申報。

(2)測試賬號申請

如果暫時不想注冊賬號無法注冊服務號,官方或者提供的測試記錄。地址: http ://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/ login后掃描二維碼,即可獲得一個測試賬號,擁有全部權限。

3.開發環境準備

外網映射工具

微信公眾平臺在訪問后臺時,必須提供能夠正確訪問的外網地址,微信平臺對后臺URL的要求有兩個點:

1)必須能夠用公網訪問

2)必須使用80端口訪問

要兩點,我們選擇購買外網服務器,比如阿里云、百度實現、騰訊云……都是不錯的選擇。如果沒有服務器選擇使用外網映射工具,將我們的內網鏈接可以映射以上為公網,比較不錯的映射軟件有:花生殼、grok、nat123等……

這幾款軟件都可以百度很容易找到并下載,下面簡單講解一下用法:

進入dos環境,切換到ngrock所在的盤符,輸入ngrock 8080回車:

回車后等待一會,自動得到公用鏈接,下圖顯示負載訪問網直接提供的鏈接,自動本機127.0.0.1:8080下的鏈接內容,分別是http協議和https協議的地址:

4.微信公眾平臺數據原理

下面看看我們公眾平臺的數據微信:

從上圖可以,微信公眾平臺實際處理的只是一個業務連接,或者實際的業務連接,實際提供的服務代碼是看到我們自己的服務器網覆蓋。就可以在我們自己的電腦(服務器)上編寫后臺代碼,并通過授權工具提供到微信訪問的網址,然后可以在我們的網站上綁定網址。

5.開發接入模式

下面將進入實際的開發過程,我們可以參考官方提供的開發文檔: https ://mp.weixin.qq.com/wiki

(1)重新填寫服務器配置

進入微信公眾平臺,點擊左側【開發——基本配置】,選擇【服務器配置】。自動進入配置頁面:

其中:

網址:即我們所說的后臺服務器公網訪問地址

Token:開發者自定的驗證權限

EncodingAESKey:常用字符串,如果消息加解密采用安全模式才需驗證方式

(2)驗證消息是否有效

當點擊提交的時候,微信到服務器發送一個獲取請求,我們上面的地址,同時傳遞四個參數:

我們通過檢驗簽名對請求進行內容開發(下面有類似的方式)。如果確認請求請求來自服務器,請原返回echostr參數,則生效,使者成功訪問失敗。加密/智能流程如下:

下面,我們實現代碼操作。

6.開發接入后臺代碼

(1)使用MyEclipse創建Web項目,并新建一個servlet:

(2)在servlet doGet中,獲取上述的正確參數方法:

(3)操作編寫類,進行操作的方法:

五確定步驟,操作上面【2】三個參考步驟流程

使用sha1加密方法

(4)Servlet 中調用微校驗方法,并驗證結果,如果檢驗成功,將返回給你的常用字符串:eahostr原路給信平臺

至此,Servlet及檢查工具類,編寫完成。

(5)啟動Tomcat,將Servlet的本地地址(例如本機為:localhost:8080/WeiXin/servlet/WeiXinServlet 能夠進行公網正確映射,參照上面第三個圖形確定內容,進行公網映射,公網地址訪問。

我將直接將代碼中的杰瑞教育 公網服務器進行訪問。獲得地址:http : //www.jredu100.com/WeiXin/servlet/WeiXinServlet

7.公共配置平臺后臺

進入微信后臺配置相關信息:

點擊提交,微信將發送Servlet,調用doGet,并進行我們編寫的驗證操作,如果最后成功的方法字符串,則綁定成功。

8.源碼共享

(1)Servlet源碼(只保留doGet部分):

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String signature = request.getParameter("signature");
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");
String echostr = request.getParameter("echostr");
PrintWriter out = response.getWriter();
if(CheckUtil.checkSignature(signature, timestamp, nonce)){
//如果校驗成功,將得到的隨機字符串原路返回
out.print(echostr);
}
}

(2)CheckUtil源碼(可直接復制其中的getSha1加密方法):

package com.jredu.util;
import java.security.MessageDigest;
import java.util.Arrays;
public class CheckUtil {
public static final String  tooken = "jredu100"; //開發者自行定義Tooken
public static boolean checkSignature(String signature,String timestamp,String nonce){
//1.定義數組存放tooken,timestamp,nonce
String[] arr = {tooken,timestamp,nonce};
//2.對數組進行排序
Arrays.sort(arr);
//3.生成字符串
StringBuffer sb = new StringBuffer();
for(String s : arr){
sb.append(s);
}
//4.sha1加密,網上均有現成代碼
String temp = getSha1(sb.toString());
//5.將加密后的字符串,與微信傳來的加密簽名比較,返回結果
return temp.equals(signature);
}
public static String getSha1(String str){
        if(str==null||str.length()==0){
            return null;
        }
        char hexDigits[] = {'0','1','2','3','4','5','6','7','8','9',
                'a','b','c','d','e','f'};
        try {
            MessageDigest mdTemp = MessageDigest.getInstance("SHA1");
            mdTemp.update(str.getBytes("UTF-8"));
            byte[] md = mdTemp.digest();
            int j = md.length;
            char buf[] = new char[j*2];
            int k = 0;
            for (int i = 0; i < j; i++) {
                byte byte0 = md[i];
                buf[k++] = hexDigits[byte0 >>> 4 & 0xf];
                buf[k++] = hexDigits[byte0 & 0xf];      
            }
            return new String(buf);
        } catch (Exception e) {
            // TODO: handle exception
            return null;
        }
    }
}

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日韩国产精品99久久久久久 | 久久国产免费观看 | 在线播放国产福利视频 | 久久一级视频 | 摸逼综合网 | 国产性较精品视频免费 | 亚洲欧美日韩精品久久亚洲区 | 911国产在线观看精品 | 色www精品视频在线观看 | 国产午夜精品福利 | 欧美激情在线一区二区三区 | h视频在线观看免费网站 | 九九这里只精品视在线99 | 一区 在线播放 | www.xxxx欧美 | 国产成人欧美 | 国产免费私人影院永久免费 | www.精品视频 | 免费的成人a视频在线观看 免费的黄色网 | 欧美成人免费午夜影视 | 中文字幕一区二区三区免费看 | 999在线观看视频 | 香蕉久热 | 99热久久精里都是精品6 | 女人洗澡一级毛片一级毛片 | 久青草免费视频手机在线观看 | 97理论三级九七午夜在线观看 | 日韩欧美视频一区二区在线观看 | 精品福利在线观看 | 在线精品一区二区三区 | 可以直接看的毛片 | 俺去鲁婷婷六月色综合 | 四虎影视免费永久在线观看 | 欧美亚洲欧美日韩中文二区 | 亚洲激情网 | 这里只有久久精品 | 伊人网综合在线观看 | 夜夜夜夜猛噜噜噜噜噜 | 亚洲欧美色综合自拍 | 99久久免费精品 | 日日干视频 |