斷斷續續,弄了好幾天,索性一狠心花了三個小時,總算找出問題了。
"token驗證失敗" 可能原因有很多種,其他網友已經幾乎窮盡了,但是我所遇到的在網絡上沒有看到,所以這裡記錄下。
失敗原因是編碼問題;
由於我是在一個項目中開發,從業務邏輯到技術邏輯,再到域名、備案、網絡、編碼這個循序依次排查。
後來發現在項目入口處有這麼一個代碼 include(../data.config.php),在這段代碼前面echo $_GET['echostr']能夠通過,但是在這段代碼後面,echo $_GET['echostr'],就是失敗的。
data.config.php文件的原編碼格式為(notepad++打開)
將格式調整為 問題解決掉了。
其實utf-8本質上是沒有BOM和非BOM區別的,傳輸中肯定不會存在誤解,但是就是擁有兩種格式,也是沒辦法。 具體BOM是什麼東西,我在另外一篇裡面有細說。
這裡給一個不同編碼的十六進制對比。