乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

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

       delphi_筆記 2019-04-29

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

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

              1.入口抓包,獲取uuid

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

      QQ截圖20180327233428.png

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

                                   redirect_uri         固定值

                                   fun                      固定值

                                   lang                    固定值

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

                  返回:

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

                                  這一步拿到uuid,進(jìn)而uuid拿到登陸用戶頭像

               2.獲取二維碼 

      blob.png

                參數(shù)說明:

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

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

                       blob.png          

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

                       參數(shù)說明:

                                     loginicon:true                            固定值

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

      2.                          tip:1                                           固定值

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

      4.                         _:1522165474425                      時(shí)間戳

                       返回:

                                   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   掃碼成功     ,此時(shí)可獲取登陸用戶頭像,但是base64編碼字符串

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

                                                            408   超時(shí)  

                      頭像處理:

                                                                 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        時(shí)間戳

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

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

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

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

                                       返回:

                   blob.png

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

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

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

      blob.png

                                          參數(shù)說明:

        1. ClientMsgId:1522165487663                                                        時(shí)間戳

        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.開啟心跳檢測(cè),檢測(cè)是否有新消息

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

          返回:

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

          retcode: 0正常           

                        1100失敗/登出微信       

          selector: 0正常                                   

                        2新的消息

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

          10.  

          獲取心跳檢測(cè)后新消息

          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

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

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多