999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

微信網頁版的模擬登錄方案

2018-03-21 06:59:05張振揚湖北工業(yè)大學
數碼世界 2018年2期
關鍵詞:微信用戶

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

1 引言

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

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

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

2 微信網頁版的會話流程

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

3 模擬登錄

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

表1

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

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

表2 請求二維碼

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

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ù)請求剛才服務端返回的URL,并得到如下返回結果:xxx。我們可以從中取得skey、wxsid、wxuin和pass_ticket四個參數的值。

4 微信初始化

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

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

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

表3

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

5 消息更新

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

表4

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

當發(fā)現有新的消息時,客戶端會向服務器post一個請求,URL為https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid=xxx&skey=xxx&pass_ticket=xxx, 同時提交下列數據:{"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后的數值代表新消息個數,AddMsgList為新消息的列表。

6 發(fā)送消息

發(fā)送一條消息,實質上就是提交了一個post請求,URL為https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsendmsg?pass_ticket=xxx,提交的數據為:{"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為消息內容,LocalID為13位時間戳加上4位隨機數。

7 總結

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

猜你喜歡
微信用戶
微信
微信
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
微信
微信
微信
微信
Camera360:拍出5億用戶
主站蜘蛛池模板: 99精品视频播放| 日韩成人免费网站| 欧美在线免费| 久久精品娱乐亚洲领先| 日韩精品欧美国产在线| 成人在线观看一区| 国产91透明丝袜美腿在线| 国产精品微拍| 久久77777| 久久天天躁夜夜躁狠狠| 97视频免费在线观看| 91在线国内在线播放老师| 午夜视频免费一区二区在线看| 久久久亚洲色| 中文字幕久久波多野结衣 | 青青草欧美| 久久久久无码国产精品不卡| 欧美色亚洲| 亚洲天堂日本| 在线观看91香蕉国产免费| 精品福利国产| 中文字幕亚洲专区第19页| 麻豆精品视频在线原创| 日本黄网在线观看| 波多野结衣的av一区二区三区| 免费A∨中文乱码专区| 欧美成人精品高清在线下载| 欧美啪啪视频免码| 欧美色视频日本| 精品欧美日韩国产日漫一区不卡| 国产亚洲精| 国产主播一区二区三区| 婷婷六月天激情| 91视频区| 国产成人免费视频精品一区二区| 亚洲天堂免费| 国产美女在线免费观看| 国产成人精品高清不卡在线| 亚洲三级成人| 国产理论一区| 日韩在线1| 亚洲最大福利视频网| 亚洲国产日韩欧美在线| 波多野结衣一区二区三区四区 | 亚洲三级影院| 伊人久久大香线蕉影院| 任我操在线视频| 播五月综合| 中文字幕亚洲第一| 欧美福利在线播放| 亚洲综合片| 亚洲人成网站18禁动漫无码| 午夜精品区| 久久五月天综合| 日韩精品一区二区三区视频免费看| 国产自在线拍| 操国产美女| 国产欧美日韩另类精彩视频| 国产日韩av在线播放| 久久精品中文字幕免费| 日韩精品资源| 精品91视频| 波多野结衣一区二区三区88| 成人av专区精品无码国产| 国产精品尹人在线观看| 亚洲欧美日韩精品专区| 国产精品思思热在线| 国产精品久久久久久久久久久久| 亚洲国产成人久久精品软件 | 亚洲高清在线天堂精品| 欧美激情视频二区三区| 91青青在线视频| 91福利免费视频| 成人日韩欧美| 国产地址二永久伊甸园| 久久精品最新免费国产成人| 成年人国产视频| 国产小视频a在线观看| 午夜天堂视频| 久久国产av麻豆| 国产男女免费视频| 国产福利免费在线观看|