如何解決目前微信小遊戲沒法進行網絡請求的問題

前言

在昨天發過的如何得到微信小遊戲跳一跳源碼的文章中,記錄了我我的在獲取微信小遊戲跳一跳源碼中的實踐。git

跟你們在交流中不少人說源碼是壓縮過的可讀性不好,拿到源碼也沒有意義。可是其實只要將代碼格式化後,代碼的可讀性仍是很高的,並且經過微信開發工具斷點調試,一些邏輯仍是很容易梳理清楚的。github

上圖就是經過斷點調試找到了最終提交 score 的網絡請求小程序

另外問的最多的就是目前小遊戲沒法進行網絡請求的問題,以下圖數組

這是由於無論是小遊戲仍是小程序,網絡請求都是受到限制的,須要在微信公衆平臺中註冊合法的服務器域名,以下圖所示服務器

可是目前小遊戲尚未開放註冊,因此是沒法進行服務器域名配置的,而微信開發工具提供的測試小遊戲 APP ID 是 wx6ac3f5090a6b99c5 是沒有配置任何的服務器域名的微信

可是在萬能的抓包工具 Charles 幫助下,是能夠打破這個限制的網絡

對 Charles 不太瞭解的能夠參考一下這篇文章微信開發

操做

首先打開 Charles 並運行 Charles 對本地電腦進行 HTTPS 抓包,由於對 HTTPS 進行抓包須要安裝證書,具體的操做步驟請參考 Charles 從入門到精通app

以後打開微信開發工具,而後新建一個項目,使用 wx6ac3f5090a6b99c5 作爲 APP ID,這是微信默認小遊戲測試開發 ID,而後新建一個空的小遊戲項目,點擊肯定以後,查看 Charles 的控制檯微信公衆平臺

找到如下的訪問請求

https://servicewechat.com/wxa-dev-logic/batchgetappattr
複製代碼

查看該請求的返回包體,會發現默認返回的服務器域名是空數組

在這裏只要使用 Charles 的 Map 功能在請求返回的 reponse 信息裏面,加入咱們想訪問的服務器域名,就能夠突破微信開發工具對小遊戲網絡請求的限制了

在 Charles 的菜單中,選擇 「Tools」-> 「Map Local」 便可進入到相應功能的設置頁面

而後在對應配置選項中輸入如下信息,本地的 reponse 文件能夠參考這裏

完成以上配置以後,退出微信開發者工具,再打開剛纔新創建的項目,就會發現此時的項目設置裏面已經有了咱們想要添加的服務器域名了

並且調試小遊戲的網絡模塊,發現網絡是能夠進行訪問的

總結

目前小遊戲尚未開放註冊,可是能夠先經過這種方式突破小遊戲對於網絡請求的訪問限制,提早進行開發。

相關文章
相關標籤/搜索