大战熟女丰满人妻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;
        }
    }
}

 

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 天天操天天干天搞天天射 | h片网站在线观看 | 日本aa在线观看 | 日本一二三区免费 | 色综合久久久久久 | 亚洲欧美视频二区 | 97超视频在线观看 | 国产成人啪午夜精品网站男同 | 巨骚综合网 | 久久久99精品免费观看 | 国产亚洲一区二区三区在线观看 | 国产不卡精品一区二区三区 | 久青草国产视频 | 日韩欧美精品综合一区二区三区 | 奇米网狠狠干 | 四虎e456tcom| 国产99精品免费视频看6 | 久久99久久精品国产只有 | 国产精品一级片 | 777精品视频| 免费日本黄色网址 | 亚洲精品一区二区三区在线看 | 色 在线播放 | 元龙第三季动漫在线观看免费版 | 真实国产乱人伦在线视频播放 | 精品无码久久久久国产 | 久热在线 | 久久国产这里只有精品 | 欧美高清视频www夜色资源 | 精品欧美一区二区三区在线观看 | 国产高清久久 | 国产一级毛片在线 | 亚洲一区二区三区在线播放 | 久久精品全国免费观看国产 | 日韩中文精品亚洲第三区 | 精品免费国产一区二区女 | 天天摸天天操天天爽 | 黄片毛片在线观看 | 精品一本久久中文字幕 | 欧美伦理一区二区三区 | 久久久精品影院 |