日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

WEB微信協(xié)議詳注(待續(xù))

 delphi_筆記 2019-04-29

        當(dāng)初寫微信機器人也是為了個紅包,雖然紅包拿到了,過程還是蠻有意思的,下面給下詳細(xì)說明。

        微信入口主要有兩個(wx和wx2),wx老號   wx2新號,我微信是老號了,為了測試方便采用的是老號入口。

        1.入口抓包,獲取uuid

           開啟瀏覽器F12功能,對https://wx.qq.com抓包,拿到我們需要的入口地址,獲取uuid          

QQ截圖20180327233428.png

            參數(shù)說明:appid                  固定值

                             redirect_uri         固定值

                             fun                      固定值

                             lang                    固定值

                             _                          標(biāo)準(zhǔn)時間戳

            返回:

                           window.QRLogin.code = 200; window.QRLogin.uuid = "wZ1Pov3CSw==";

                            這一步拿到uuid,進而uuid拿到登陸用戶頭像

         2.獲取二維碼 

blob.png

          參數(shù)說明:

                        https://login.weixin.qq.com/qrcode/+uuid      其中uuid為上一步獲取

   此處需注意返回的二維碼是jpg圖像,在delpgi處理的時候轉(zhuǎn)換處理

                 blob.png          

        3.獲取登陸用戶頭像          QQ截圖20180327233428.png

                 參數(shù)說明:

                               loginicon:true                            固定值

  1.                          uuid:wb1sJ27NXA==                上一步拿到的uuid

  2.                          tip:1                                           固定值

  3.                          r:-1747051986                          可選,沒明白這個是什么

  4.                         _:1522165474425                      時間戳

                 返回:

                             window.code=201;window.userAvatar = 'data:img/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPD.......

                             window.code=200;

                             window.redirect_uri="https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=Af-yYTSZi- X7h31w_ujkZn_F@qrticket_0&uuid=wb1sJ27NXA==&lang=zh_CN&scan=1522165494";                                                                  

                             window.code    登陸狀態(tài)

                                                      201   掃碼成功     ,此時可獲取登陸用戶頭像,但是base64編碼字符串

                                                      200   登陸成功     ,此時需獲取ticket,sacn,下一步需要ticket和scan

                                                      408   超時  

                頭像處理:

                                                           blob.png

                4.獲取skey, wxsid, wxuin, pass_ticket

blob.png blob.png

blob.png

                  這一步最關(guān)鍵的是要注意返回的cookie信息,得保存cookie信息,后面取好友頭像都需要;且需獲取skey, wxsid, wxuin, pass_ticket留著下一步用,其中wxsid等同sid,wxuin等同uin

                  delphi中獲取cookie:

                  blob.png

                  5.WEB微信初始化  并且獲取最近聯(lián)系人信息

blob.png

                              參數(shù)說明:

                                          r        時間戳

                                         DeviceID:"e556747131131712"                                                                 e開頭后面為15位隨機數(shù)

    1. Sid:"SnROJhZtphzwfrVN"                                                                          上一步獲取的wxsid

    2. Skey:"@crypt_3644f5c5_cda37df8947228dea79115d5353586db"           之前獲取的skey

    3. Uin:"1152509820"                                                                                      上一步中的wxuin

                                 返回:

             blob.png

                      此處可獲取登陸用戶的個人信息,其中UserName需保存留做下一步微信初始化;

                     此處需特別注意synckey這個json串,這個必須得處理,是后面心跳同步必須的參數(shù)。且synckey還得處理為這種形式:1_669512273|2_669514056|3_669513917|1000_1521781562。

                         6.開啟微信狀態(tài)通知

blob.png

                                    參數(shù)說明:

    1. ClientMsgId:1522165487663                                                        時間戳

    2. Code:3                                                                                            固定值

    3. FromUserName:"@e89318a6092d99a68ca4884bd194c221"        上一步中的username

    4. ToUserName:"@e89318a6092d99a68ca4884bd194c221"

                               7.獲取全部好友列表

blob.png 

                            參數(shù)說明:

      1. pass_ticket:w%2FAWW%2BCIv6aHWOjucFm%2BS3z2GB7i8cq%2B0GqzGAXZXHCdYzHUEUA96EHdGExvR4rx

      2. r:1522165488107

      3. seq:0                                                              固定值

      4. skey:@crypt_3644f5c5_cda37df8947228dea79115d5353586db

           返回:

                                            blob.png

       MemberList中包括了好友的一些基本信息,包括好友頭像。

      8.獲取好友頭像

      blob.png

      其中url可以從上一步中的好友列表中獲取到,也可以從微信初始化返回串中獲取到,只是前者是部分好友,后者是全部好友;但這一步需要提交cookie,具體所需cookie見圖

      blob.png

      關(guān)于頭像格式問題,我好友里面有2種格式j(luò)gp和png ,其余的沒有,至于上面說的4種格式,是百度的。這一步需要格式轉(zhuǎn)換,當(dāng)然也可以替換成我們所想看見的頭像,比如這樣:

      blob.png

      9.開啟心跳檢測,檢測是否有新消息

      blob.png這一步中以json提交的參數(shù)中最重要的就是synckey,在微信初始化獲取的返回值中,url中得處理成1_669514562|2_669515616|3_669515447|1000_1522139642這個樣子,但提交的參數(shù)中得以json串的形式提交。

      返回:

             window.synccheck={retcode:"0",selector:"2"}

      retcode: 0正常           

                    1100失敗/登出微信       

      selector: 0正常                                   

                    2新的消息

      心跳同步中有一機制:第一次提交返回都是2,此時需要再次提交,提交所需的synckey來源于第一次提交后返回的synckey,只有這樣才能正確同步。

      10.  

      獲取心跳檢測后新消息

      Request URL:https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid=eUHDYUDwG/zBTQI5&skey=@crypt_3644f5c5_fb23dd323ac02e87c4837e7fbb149a81&pass_ticket=fSIBCYjascLrYzTOgnZaQcXSHcMZ3kc0ZCTrx7DQD2oAFdV%252FggeRCPk%252BFnNhCVrL

      Request Method:POST

      sid:eUHDYUDwG/zBTQI5

      skey:@crypt_3644f5c5_fb23dd323ac02e87c4837e7fbb149a81

      pass_ticket:fSIBCYjascLrYzTOgnZaQcXSHcMZ3kc0ZCTrx7DQD2oAFdV%2FggeRCPk%2BFnNhCVrL

      這一步提交需要以json方式且需提交cookie,成功后返回新的消息內(nèi)容和最為重要的synckey信息。

      blob.png

      -------------------------------------------------------我是分割線------------------------------------------------------------------------

      放2張成功同步心跳的

      blob.pngblob.png

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多