黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

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

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

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;
        }
    }
}

 

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: cao美女视频网站在线观看 | 国产精品欧美在线 | 日本一区二区不卡久久入口 | 国产成人福利免费观看 | 一区二区三区四区在线观看视频 | 国产成人免费高清激情明星 | 1024手机基地在线看手机 | 两性午夜欧美高清做性 | 26uuu最新| 又大又粗又爽黄毛片 | 免费黄色在线观看 | 污网站在线观看免费 | 黄网站在线观看高清免费 | 亚洲国产经典 | 成人看片黄a免费 | 一二三四视频社区在线中文1 | 欧美成人免费在线观看 | 国产91成人 | 午夜在线观看视频 | 波多野结衣在线观看一区二区 | 亚洲波多野结衣日韩在线 | 天堂网在线网站成人午夜网站 | 色香视频在线 | 免费久草视频 | 在线看一级片 | 亚洲第一成网站 | 亚洲十八| 欧美日韩在线播放一区二区三区 | 黄色香蕉视频网站 | 色婷婷激情五月 | 国产精品亚洲综合久久 | 天天操天天曰 | 欧美a视频在线观看 | 97色老99久久九九爱精品 | 一区二区3区免费视频 | 狠狠操天天操夜夜操 | 2015xxxx欧美 | 成人a视频片在线观看免费 成人a视频高清在线观看 | 亚洲首页成人有声小说网 | 日韩欧美手机在线 | 看国产一级片 |