亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        微信網(wǎng)頁版的模擬登錄方案

        2018-03-21 06:59:05張振揚湖北工業(yè)大學(xué)
        數(shù)碼世界 2018年2期
        關(guān)鍵詞:群組列表網(wǎng)頁

        張振揚 湖北工業(yè)大學(xué)

        1 引言

        微信是由騰訊開發(fā)的即時通訊軟件。截止到2017年,微信的月活躍用戶超過9.8億,日活躍用戶也達到了9.02億。與以往QQ主要面向年輕群體不同,微信贏得了所有年齡層,又因為它功能全面卻不失簡潔,被譽為世界上最強大的應(yīng)用程序之一。

        現(xiàn)如今,通過微信開展的事務(wù)越來越多,除了同事間交流、通知、請示、匯報,員工還被要求利用微信維系客戶關(guān)系、提供咨詢服務(wù)以及產(chǎn)品的營銷推廣。以咨詢服務(wù)為例,傳統(tǒng)的現(xiàn)場咨詢、電話咨詢都是即時、一對一服務(wù),而微信上時常會有多人同時咨詢,又由于“最晚到的消息排列在最前”的設(shè)計,回復(fù)時效無法保證。

        越來越多人希望能將重復(fù)、瑣碎的工作交給一些輔助工具去做。本文以微信網(wǎng)頁版為研究對象,分析并模擬微信網(wǎng)頁版的登錄、運行過程,為開發(fā)基于微信的輔助工具提供思路。

        2 微信網(wǎng)頁版的會話流程

        作為一款即時通訊軟件,我們可以將微信網(wǎng)頁版的整個會話流程劃分為“登錄”-“初始化”-“消息更新”-“發(fā)送消息”四個部分。其中登錄部分分為“獲取UUID”-“獲取二維碼”-“等到掃描二維碼”-“獲取登錄參數(shù)”四個步驟;初始化部分分為“獲取初始化信息”-“開啟微信狀態(tài)通知”-“獲取好友列表”-“獲取群組列表”四個步驟;消息更新部分分為“檢查消息”-“獲取最新消息”。

        3 模擬登錄

        微信網(wǎng)頁版只能通過手機APP掃描二維碼這一種方式登錄。用戶打開網(wǎng)頁版微信地址(https://wx.qq.com)時,網(wǎng)頁首先向服務(wù)器(https://login.wx.qq.com/jslogin)發(fā)送一個Get請求,具體請求參數(shù)如表1:

        表1

        微信服務(wù)器隨之返回如下報文:window.QRLogin.code= 200; window.QRLogin.uuid = "xxx";其中,uuid是通用唯一識別碼(Universally Unique Identifier)的縮寫,用于區(qū)分每一次登錄,而uuid的值還被用于顯示二維碼,二維碼的URL格式為https://login.weixin.qq.com/qrcode/xxx。

        在用戶使用掃描二維碼并點擊確認登錄之前,微信網(wǎng)頁版每間隔一段時間,都會向服務(wù)器發(fā)送一個get請求,URL為https://login.wx.qq.com/cgi-bin/mmwebwx-bin/login,具體參數(shù)如表2:

        表2 請求二維碼

        如果服務(wù)器返回:window.code=201;代表用戶已經(jīng)掃描二維碼,但尚未在手機上確認登錄,如果返回:window.code=408;代表用戶長時間沒有掃描。一旦用戶在手機客戶端上點擊確認登錄,服務(wù)器端將返回如下數(shù)據(jù):

        window.code=200;window.redirect_uri="https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpa ge?ticket=xxx&uuid=xxx&lang=zh_CN&scan=xxx";

        此時,客戶端會繼續(xù)請求剛才服務(wù)端返回的URL,并得到如下返回結(jié)果:xxx。我們可以從中取得skey、wxsid、wxuin和pass_ticket四個參數(shù)的值。

        4 微信初始化

        前面的步驟僅僅完成了登錄這一個過程,還需要繼續(xù)獲取用戶的基本信息、好友、群組乃至公眾號。客戶端將繼續(xù)訪問如下URL:https://wx.qq.com/cgi-bin/mmwebwxbin/webwxinit?r=xxx&pass_ticket=xxx,其 中 r是 時 間戳,pass_ticket是前面獲取到的值。在訪問該URL時,還需要Post以下數(shù)據(jù):{"BaseRequest":{"Uin":"xxx","Sid":"x xx","Skey":"xxx","DeviceID":"xxx"}}。Uin 即為 wxuin,Sid即為wxsid,DeviceID為e+15位隨機數(shù)。服務(wù)器隨即返回一個JSON串,其中ContactList是聯(lián)系人列表,但并不完整,User是當(dāng)前用戶的信息。

        然后,就要開啟消息狀態(tài)通知。訪問如下URL:https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxstatusnotify?pass_ticket=xxx, 并 Post如 下 數(shù)據(jù):{"BaseRequest":{"Uin":0000000,"Sid":"xxx","Sk ey":"xxx","DeviceID":"xxx"},"Code":3,"FromUserN ame":"xxx","ToUserName":"xxx","ClientMsgId":x xx}。其中FromUserName和 ToUserName是自己的 id,而ClientMsgId是時間戳。服務(wù)器隨即返回如下數(shù)據(jù):{BaseResponse: {Ret: 0, ErrMsg: ""}, MsgID: "xxx"}

        接著,需要繼續(xù)獲取好友列表和群列表。向https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgetcontact發(fā)送如表3中的參數(shù)的Get請求:

        表3

        服務(wù)端將返回一個列表,該列表即包括好友,也包括公眾號,還包括群組,它們之間通過ContactFlag參數(shù)區(qū)分,1為好友,2為群組,3為公眾號。

        5 消息更新

        要想保持消息的同步,就需要不斷的向服務(wù)器發(fā)送Get請求檢查最新消息,具體的URL為https://webpush2.weixin.qq.com/cgi-bin/mmwebwx-bin/synccheck,參數(shù)如表4:

        表4

        服務(wù)器將返回如下數(shù)據(jù):window.synccheck={retcode:"0",selector:"0"},其中,retcode=0代表正常,retcode-1100代表失敗或微信已登出,selector=0代表正常,selcector=2代表新的消息,selcector=7代表進入或退出聊天窗口。

        當(dāng)發(fā)現(xiàn)有新的消息時,客戶端會向服務(wù)器post一個請求,URL為https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid=xxx&skey=xxx&pass_ticket=xxx, 同時提交下列數(shù)據(jù):{"BaseRequest":{"Uin":xxx,"Sid":"xxx","Skey":"xxx","DeviceID":"xxx"},"SyncKey":{"Count":8,"List":[{"Key":1,"Val":701532377},{"Key":2,"Val":701533-243},{"Key":3,"Val":701533081},{"Key":11,"Val":701533192},{"Key":201,"Val":1514991006},{"Key":203,"Val":1514988765},{"Key":1000,"Val":1514973002},{"Key":1001,"Val":151497 3074}]},"rr":1132416953}。需要說明的是,rr為時間戳取反。

        需要說明的是,Ret=0代表返回成功,AddMsgCount后的數(shù)值代表新消息個數(shù),AddMsgList為新消息的列表。

        6 發(fā)送消息

        發(fā)送一條消息,實質(zhì)上就是提交了一個post請求,URL為https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsendmsg?pass_ticket=xxx,提交的數(shù)據(jù)為:{"BaseR equest":{"Uin":xxx,"Sid":"xxx","Skey":"xxx","DeviceID":"xxx"},"Msg":{"Type":1,"Content":"xxx","FromUserNa me":"xxx","ToUserName":"filehelper","LocalID":"xxx","ClientMsgId":"xxx"},"Scene":0}。其中,type為消息類型,1為文字消息,3為圖片消息,Content為消息內(nèi)容,LocalID為13位時間戳加上4位隨機數(shù)。

        7 總結(jié)

        移動互聯(lián)網(wǎng)時代帶來了更多機遇,它令人們更便捷、更快速的發(fā)送消息,但實際上也導(dǎo)致很多人疲于回復(fù)消息。通過對微信網(wǎng)頁版整個會話流程的分析,可以根據(jù)實際需求,開發(fā)出各種實用的微信輔助工具,將有需要的人從繁瑣、重復(fù)的工作中解放出來。

        猜你喜歡
        群組列表網(wǎng)頁
        巧用列表來推理
        學(xué)習(xí)運用列表法
        擴列吧
        關(guān)系圖特征在敏感群組挖掘中的應(yīng)用研究
        電子測試(2018年14期)2018-09-26 06:04:10
        基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計
        電子制作(2018年10期)2018-08-04 03:24:38
        基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
        電子制作(2017年2期)2017-05-17 03:54:56
        基于統(tǒng)計模型的空間群組目標空間位置計算研究
        網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
        電子測試(2015年18期)2016-01-14 01:22:58
        10個必知的網(wǎng)頁設(shè)計術(shù)語
        不含3-圈的1-平面圖的列表邊染色與列表全染色
        久久亚洲国产精品成人av秋霞| 日本午夜理论片在线观看| 国产精品久久久天天影视| 女人被狂躁c到高潮| 国产人在线成免费视频| 国内精品久久久久国产盗摄| 一区二区日本影院在线观看| 久久久国产精品黄毛片| 男人扒开女人双腿猛进视频| 无码国产精品一区二区免费模式| 国产又色又爽又刺激视频| 亚洲青涩在线不卡av| av免费一区二区久久| 免费观看a级毛片| 国产精品一区二区久久不卡| 亚洲线精品一区二区三区八戒| 久久免费精品视频老逼| 人妻少妇中文字幕,久久精品| 日本动漫瀑乳h动漫啪啪免费| 亚洲av无码潮喷在线观看| 亚洲国产香蕉视频欧美| 玩弄丝袜美腿超短裙校花| 色综合久久五月天久久久| 一区二区午夜视频在线观看| 狠色人妻丝袜中文字幕| 亚洲av成人片色在线观看高潮| 手机在线看永久av片免费| 亚洲国产成a人v在线观看| 按摩偷拍一区二区三区| 久久久久人妻精品一区二区三区 | 久久精品国产99久久无毒不卡| 无码人妻精一区二区三区| 成人在线免费视频亚洲| 91色婷婷成人精品亚洲| 亚洲熟妇一区二区蜜桃在线观看| 精品人妻一区二区三区四区在线| a级毛片100部免费看| 亚洲香蕉毛片久久网站老妇人 | chinese国产在线视频| 人妻精品久久久一区二区| 国产免费三级av在线|