系統上線以後運行良好,昨天下午開始忽然報 「微信jsapi初始化失敗」的錯誤提示 php
一、開啓使用了jsapi的頁面的wx.config的debug,提示signature簽名錯誤 api
二、既然簽名錯誤就一步步打印獲取這個數據的步驟上的中間數據,看是哪一個錯了 微信
三、結果是用php curl模擬get https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi 這個去獲取jsapi_ticket時報錯400,請求參數錯誤 curl
請求參數錯誤!!!困擾了好久!以前能成功! post
緣由:問題出在ACCESS_TOKEN上,這個token的格式會不會出現特殊字符騰訊沒有說明,而「JSSDK說明文檔」中說用http GET方式請求jsapi_ticket時也沒說明 這個 token中會出現特殊字符!!!
在PHP中沒有對該token進行urlencode,因而當token中有特殊字符時就出現400
url
get和post開放API時,對格式不明的請求參數使用urlencode spa