九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
百度用戶登陸流程詳細(xì)分析、百度賬號(hào)批量登陸程序

  前些天,因某些業(yè)務(wù)需要,需開發(fā)一個(gè)與百度相關(guān)的程序,其中一個(gè)子功能便是:百度賬號(hào)批量登陸、并保持在線狀態(tài)。

花了些時(shí)間研究了一番,當(dāng)時(shí)寫了點(diǎn)分析文檔,現(xiàn)發(fā)出來,也許其他人可能會(huì)有需要吧……

登陸頁面:

這個(gè)有很多個(gè)地址,各種百度頁面都有,例如:百度首頁、貼吧、知道、博客、文庫(kù)等,但無一例外都是調(diào)用的:passport.baidu.com

本文分析時(shí),采用的地址為:http://www.baidu.com/cache/user/html/login-1.2.html

地址對(duì)登陸流程無影響,提交的數(shù)據(jù)包格式都是完全一樣的。

登錄流程:

注意:以下操作必須使用百度的 cookie(可以通過訪問百度域名旗下任何頁面獲得,例如百度首頁),否則無法登陸及獲取 token,例如:BAIDUID=0915774773D18CA1A50FB5012E9F9E5A:FG=1,關(guān)鍵值為:BAIDUID,是用戶識(shí)別碼(提示:百度可以通過這個(gè)追蹤你在所有百度子域名的訪問記錄,百度推廣平臺(tái)更是依靠這個(gè)進(jìn)行針對(duì)性廣告推送,這里就不多講了)。

0x01.檢查是否需要驗(yàn)證碼

在加載完登陸頁面后,開始填寫用戶名(例子:test@baidu.com),當(dāng)填完用戶名后,切換輸入框的時(shí)候,頁面會(huì)提交一個(gè)GET請(qǐng)求:

檢查是否需要驗(yàn)證碼:數(shù)據(jù)包 {    //https://passport.baidu.com/v2/api/?logincheck&callback=bdPass.api.login._needCodestringCheckCallback&tpl=mn&charset=utf-8&index=0&username=test@baidu.com&time=1345429566039    /*    https://passport.baidu.com/v2/api/?logincheck    callback=bdPass.api.login._needCodestringCheckCallback    tpl=mn    charset=utf-8    index=0    username=test@baidu.com    time=1345429566039    */}

數(shù)據(jù)包格式很簡(jiǎn)單,提交用戶名到百度系統(tǒng),判斷該用戶是否需要使用驗(yàn)證碼,主要是通過判斷登陸地點(diǎn)(異地登陸)等信息決定是否啟用驗(yàn)證碼,然后會(huì)分別返回一些 js 數(shù)據(jù):

//無需驗(yàn)證碼bdPass.api.login._needCodestringCheckCallback({"errno":0,"codestring":"","index":"0"})//需要驗(yàn)證碼bdPass.api.login._needCodestringCheckCallback({"errno":0,"codestring":"00134551910401544CDC299B469B5E46D32022AFD068465D3EA7BF0FCFBF84159218814618D466E1E06B531057E7F6249BD724257D2778654C70D4D943DD10CBB421A1E241A81A738E08AFBBAAA53D29894495B6C0079092D24BCFFF0F76DBE8E3F580551DABF998EA0F30387CD05E7109A82FBF82F363D3CD8702E84BC468B09BF44EEF99E61E235B30637E8A04CFAF5C4EB25458C63B878788DC85340637AC1AA9D25538A7A899","index":"0"})//根據(jù) codestring 生成驗(yàn)證碼https://passport.baidu.com/cgi-bin/genimage?00134551910401544CDC299B469B5E46D32022AFD068465D3EA7BF0FCFBF84159218814618D466E1E06B531057E7F6249BD724257D2778654C70D4D943DD10CBB421A1E241A81A738E08AFBBAAA53D29894495B6C0079092D24BCFFF0F76DBE8E3F580551DABF998EA0F30387CD05E7109A82FBF82F363D3CD8702E84BC468B09BF44EEF99E61E235B30637E8A04CFAF5C4EB25458C63B878788DC85340637AC1AA9D25538A7A899&v=1345519099647

由于我這里沒有用到驗(yàn)證碼(批量登陸的時(shí)候,可以繞過驗(yàn)證碼的),所以沒有詳細(xì)跟進(jìn)分析,感興趣的同學(xué)可以分析一下返回?cái)?shù)據(jù)包,這些數(shù)據(jù)包很簡(jiǎn)單的……

0x02.發(fā)送登錄數(shù)據(jù)包

填寫完賬號(hào)、密碼(及驗(yàn)證碼)后,點(diǎn)擊登錄,則開始提交登錄數(shù)據(jù)包:

發(fā)送登錄數(shù)據(jù)包 {    POST {        /*        https://passport.baidu.com/v2/api/?login        */    }    Data {        /*        <script src="https://passport.baidu.com/js/pass_api_login.js?v=20120731" type="text/javascript" charset="UTF-8"></script>        行:m(L,[{        */        !ppui_logintime=9379&charset=utf-8&codestring=&token=e26c8539626cdfac6e4fcd4d5c8e0e83&isPhone=false&index=0&u=&safeflg=0&staticpage=http%3A%2F%2Fwww.baidu.com%2Fcache%2Fuser%2Fhtml%2Fjump.html&loginType=1&tpl=mn&callback=parent.bdPass.api.login._postCallback&username=test@baidu.com&password=123456&verifycode=&mem_pass=on        /*        ppui_logintime=9379 [用戶在頁面停留的毫秒數(shù)]        charset=utf-8        codestring=        token=e26c8539626cdfac6e4fcd4d5c8e0e83 [token 獲取方式見下]        isPhone=false [是否手機(jī)號(hào)登陸模式]        index=0        u=        safeflg=0        staticpage=http%3A%2F%2Fwww.baidu.com%2Fcache%2Fuser%2Fhtml%2Fjump.html        loginType=1        tpl=mn        callback=parent.bdPass.api.login._postCallback        username=test@baidu.com [賬號(hào)]        password=123456 [密碼]        verifycode=        mem_pass=on [是否記住登錄狀態(tài)]        */    }}
token 獲取方式 {    /*    使用百度 cookie(BAIDUID)訪問如下地址,然后提取字符串(該值為固定值并唯一,和 BAIDUID 的值對(duì)應(yīng))。    地址:<script src="https://passport.baidu.com/v2/api/?getapi&class=login&tpl=mn&tangram=true" type="text/javascript"></script>    行 5:bdPass.api.params.login_token='e26c8539626cdfac6e4fcd4d5c8e0e83';    */}

數(shù)據(jù)包中注釋寫得很詳細(xì),可以看看。

提交之后,如果賬號(hào)、密碼正確,百度系統(tǒng)會(huì)返回一個(gè)或多個(gè) Set-Cookie 值(如下所示),及一段跳轉(zhuǎn)代碼,跳轉(zhuǎn)到登陸之前的頁面,否則會(huì)返回錯(cuò)誤代碼:error=***

Set-Cookie:BDUSS=pRT29kMERuS28tdXB4YzZ5OC02cDE4R04za********************************************************************************************************************HIAAAAAmWdCAAAAAAAxMC40Mi4yMjMAM1AzADNQSV; expires=Sat, 07-Nov-2020 03:27:47 GMT; path=/; domain=baidu.comPTOKEN=1b97128dc7************9039b65b21; expires=Sat, 07-Nov-2020 03:27:47 GMT; path=/; domain=passport.baidu.comSTOKEN=03b2d2205d************5ad6301745; expires=Sat, 07-Nov-2020 03:27:47 GMT; path=/; domain=passport.baidu.comPTOKEN=deleted; expires=Mon, 22-Aug-2011 03:27:46 GMT; path=/; domain=baidu.comSAVEUSERID=217cb64e2dff1587bc**********f38f557957452436; expires=Sat, 07-Nov-2020 03:27:47 GMT; path=/; domain=passport.baidu.com

其中有用的關(guān)鍵 cookie 值只有一個(gè):

BDUSS=pRT29kMERuS28tdXB4YzZ5OC02cDE4R04za********************************************************************************************************************HIAAAAAmWdCAAAAAAAxMC40Mi4yMjMAM1AzADNQSV

然后提取該值,并與之前的 BAIDUID 拼接成為一個(gè)完整的 Cookie:

BAIDUID=0915774773D18CA1A50FB5012E9F9E5A:FG=1; BDUSS=pRT29kMERuS28tdXB4YzZ5OC02cDE4R04za********************************************************************************************************************HIAAAAAmWdCAAAAAAAxMC40Mi4yMjMAM1AzADNQSV

然后使用這段 Cookie 訪問百度旗下任何產(chǎn)品,此時(shí)便是登錄狀態(tài)了,與用戶操作無異,然后你懂的……

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【教程】手把手教你如何利用工具(IE9的F12)去分析模擬登陸網(wǎng)站(百度首頁)的內(nèi)部邏輯過程 | 在路上
模擬百度登錄
Python post、get百度
uchome登陸機(jī)制分析(一)
知道電腦IP如何查詢地址!百度已經(jīng)幫你弄好了!
(2)百度坐標(biāo)和GPS坐標(biāo)轉(zhuǎn)換
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服