標(biāo)簽:
微信公眾平臺(tái)開發(fā)模式
分類:
原文鏈接:http://hetuo./98/6/p13951590057aed
晚飯的時(shí)候發(fā)現(xiàn)微博不認(rèn)識(shí)的人分享我快站的文章了,居然有自然流量了,O(∩_∩)O~~好吧,不說(shuō)廢話了,直接上正題吧: 1.在上一篇文章說(shuō)到可以curl模擬登錄請(qǐng)求獲取用戶微信公眾平臺(tái)的個(gè)人信息(微信號(hào),原始ID,appId,Secret,賬號(hào)類型等),后來(lái)在測(cè)試的過(guò)程中發(fā)現(xiàn)了一個(gè)問(wèn)題,可能是測(cè)試頻繁登錄的原因,突然登錄不上了,我發(fā)現(xiàn)返回msg是驗(yàn)證碼不合法,之前輸入的時(shí)候都沒有要輸入驗(yàn)證碼,怎么突然就要輸入了呢?嘗試用微盟綁定的時(shí)候,直接彈出了提示框,然后就顯示驗(yàn)證碼輸入框了,用戶瀏覽器登陸微信公眾賬號(hào)頁(yè)面也出現(xiàn)了,看來(lái)是微信公眾平臺(tái)發(fā)現(xiàn)賬號(hào)異常后加入了驗(yàn)證碼校驗(yàn)。研究了一下這個(gè)也好破,當(dāng)發(fā)現(xiàn)返回的json信息提示驗(yàn)證碼非法時(shí),在form中加入一個(gè)image標(biāo)簽,src寫如下鏈接即可:$img_code_src = "https://mp.weixin.qq.com/cgi-bin/verifycode?username=".$post_data['username']."&r=".mt_rand(1000000000, 9999999999); $post_data['username']是登錄用戶名,r參數(shù)是任意字符串,我這里取了一個(gè)隨機(jī)數(shù),這樣讓用戶在form表單中輸入驗(yàn)證碼,post請(qǐng)求中加入img_code即可登錄成功。 2.看到微盟智能綁定可以做到直接關(guān)閉微信公眾賬號(hào)的編輯模式,開啟開發(fā)模式,研究了一下,直接調(diào)用接口"https://mp.weixin.qq.com/misc/skeyform?form=advancedswitchform&lang=zh_CN",需要注意的是post參數(shù),flag設(shè)置為0表示關(guān)閉,type為1表示是編輯模式,還需要帶上token,最后是referer參數(shù)得帶上,不然會(huì)返回錯(cuò)誤信息。開啟開發(fā)模式只是post參數(shù)不同而已,flag設(shè)置為1表示開啟,type為2表示為開發(fā)模式,然后就是token參數(shù)了,記得帶referer參數(shù)。 3.這個(gè)還不夠,發(fā)現(xiàn)微盟綁定的時(shí)候服務(wù)端URL和token都幫你改好,并且進(jìn)行了服務(wù)器有效性驗(yàn)證,不得不佩服了,用戶啥都不需要操心了,但是我得好好操心一下了。調(diào)研的結(jié)果是調(diào)用接口"https://mp.weixin.qq.com/advanced/callbackprofile?t=ajax-response&token=".$token."&lang=zh_CN",這個(gè)token是登陸后redirect鏈接中的token值,post請(qǐng)求中帶上url參數(shù)(服務(wù)器URL),callback_token參數(shù)(token),這樣就可以修改成功了。 tips: a.上面的接口都記得帶上登錄后返回的cookie b.在微信公眾賬號(hào)開發(fā)的時(shí)候是先關(guān)閉編輯模式,再開啟開發(fā)模式,這個(gè)順序不能錯(cuò),不然接口會(huì)調(diào)用失敗。 今天挺累的,就寫這么多吧,有問(wèn)題留言。
我的同類文章
|
|