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