微信/易信公共平台开发(四):公众号调试器 (仿真微信平台,提供PHP源码)
開發微信/易信公共平臺時,調試往往很麻煩,一般只能在手機上邊試邊改, 或在服務器寫日志。當你的服務器腳本有Bug時,手機上沒有顯示,追查是不容易的。我在開發過程中,編寫了一個調試器, 能仿真微信/易信平臺,對公眾號URL進行訪問并顯示詳細響應數據,調試公眾號變得很容易了。特分享給大家。
調試器地址:http://www.jostudio.org/emulator.php
界面如下: 輸入公眾號URL,發送文本消息,可顯示出響應數據。邊開發,邊調試。
?
調試器可以發送文字信息,輸入文字內容,按“發送文字消息”鍵即可。
調試器也可以仿真菜單點擊, 輸入菜單EventKey值,按“點擊菜單”鍵即可。
調試器還可以仿真用戶關注,按“從頭開始”鍵,此時調試器將發送一個subscribe消息到公眾號URL。
?如果公眾號URL響應過程中有錯誤發生,也會在返回數據顯示中出來的, 調試很好用!
注:調試器向公眾號URL發送消息時,發送者的openid 是 "emulator_user"
神秘功能: 這個調試器可以訪問任何URL,就像web代理一樣,比如:下圖顯示訪問 www.baidu.com , 點擊“從頭開始”, 則可以看到返回數據。
為什么返回數據的中文是亂碼呢? 這是因為baidu.com返回的是gbk編碼的漢字,而調試器遵循微信平臺規則,使用的是utf-8編碼的漢字. ?請勾選 “返回數據是GBK編碼” 的選項,點擊“從頭開始”再次提交,則返回結果中文就不亂碼了。
勾選 “返回數據是GBK編碼”,點擊“從頭開始”再次訪問www.baidu.com, ?結果顯示“網頁不存在”. ?為什么呢?這是因為,調試器遵循微信平臺規則, ?在URL后自動加上了簽名值, 且以POST方式訪問URL,所以百度認為這個URL不存在。
勾選 “以GET方式訪問URL” 的選項, 并且不要勾選 “返回數據是GBK編碼”, ?點擊“從頭開始”再次訪問www.baidu.com,這一次正常了。
PS:百度首頁是utf-8編碼, 出錯頁面卻是gbk編碼
注意:以上過程是訪問其它網站的實驗,在實際調試公眾號URL時,不要勾選 “以GET方式訪問URL” 和 ?“返回數據是GBK編碼”?的選項
嘿嘿,再神一點,訪問一下www.facebook.com 給你看看, 網頁一會兒就出來了,都說可以訪問任何URL羅,是不是? 難道這是FQ了?!嗯,對頭!
?(不過,不好意思,調試器只是讀取并顯示了一下網頁,并沒有完成web代理的各項功能,所以是不能登錄facebook的)
對調試器源碼感興趣的童鞋,?可在我的資源中下載: ? 調試器源碼下載
源碼只有一個文件 emulator.php , 可以裝在自己的服務器上
不解釋,看源碼注釋吧
?
轉載于:https://www.cnblogs.com/james1207/p/3395216.html
總結
以上是生活随笔為你收集整理的微信/易信公共平台开发(四):公众号调试器 (仿真微信平台,提供PHP源码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git撤销pull回滚到本地pull前版
- 下一篇: 进程间通信之剪切板