(未解決)jmeter報錯之“請在微信客戶端打開鏈接”


  這是一個還沒解決的問題,這里純粹記錄自己思考的過程,后續給自己參考。

  先說明情景:對微信公眾號的一個接口進行調用跑通,后續可能需要壓測(是的,僅僅是調通一個接口而已o(╥﹏╥)o)

1、按照我理解的正常套路,我直接請求對應的接口,然后通過抓包得到Cookie,寫入到HTTP Cookie管理器中,如下:

emmmm....開始百度,發現也有類似的提問,但是沒有一個靠譜有效的答案。然后我就去分析登錄過程了,看最后一個重定向的響應數據:

恩?意思就是還要用戶授權,掃碼然后在手機上點擊【確定】,然后才能登錄?於是,我去找微信授權網頁開發的東西,官方文檔:網站應用微信登錄開發指南

文檔寫的簡單易懂,看完之后自己繼續嘗試,但是好像一直拿不到一個有效的code。

對應的開發最近又在弄雙十一的需求,實在不好意思叨擾。猜測應該是我需要傳某些參數,進而跳過用戶授權這么一個步驟。

-----------------------------------------------分割線-----------------------------------------------------

  今天開發有空,和他聊了聊,得到一些東西:首先,這個項目沒有前后端分離,采用的驗證是JWT做的。然后拿着我的問題去請教(其中還出現了一個情況,我加上了User-Agent,響應結果提示我在微信客戶端打開鏈接),開發告知我掃碼這個步驟是由來源控制的,如果沒有來源也不是微信瀏覽器就會讓掃碼(“來源”涉及公司業務)。那么問題就又回到一個點:jmeter如何模擬微信客戶端發起請求?查看微信相關的開發文檔:

var ua = navigator.userAgent.toLowerCase();
var isWeixin = ua.indexOf('micromessenger') != -1;
var isAndroid = ua.indexOf('android') != -1;
var isIos = (ua.indexOf('iphone') != -1) || (ua.indexOf('ipad') != -1);

我填寫的User-Agent是滿足這些條件的,查看請求中也帶了User-agent,那么為什么還會被服務器判定為不是微信瀏覽器?

技術有限,這個問題我暫時是沒轍了,優先完成工作任務,我就用另一種方式去調通接口了,公司業務層面的來源控制:

JWT做的驗證,我拿到了token,然后一起傳進去,還是重定向到了登錄頁。哎,技術菜,是原罪啊,該干活了.....

 

 

___學習是個銳化自己的過程 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM