準(zhǔn)備工作
還沒有看過《一步一步教你刷【極客學(xué)院VIP會(huì)員】(一)之原理分析》的讀者东羹,請先移步到這里宣鄙。
先注冊好一個(gè)極客學(xué)院的賬號,然后進(jìn)入到http://e.jikexueyuan.com/invite/invite.html
小編使用的測試瀏覽器是Chrome 版本 46.0.2490.86 (64-bit)
開始著手
http://e.jikexueyuan.com/invite/invite.html 頁面截圖:
走一遍正常邀請小伙伴的流程
http://e.jikexueyuan.com/invite/index.html?ZnJvbV9jb2RlPVZTUlU1MCZ1bmFtZT1oZWxsc2FtJmNoYW5uZWw9aW52aXRlX3NoYXJlYnV0dG9uX2RpcmVjdDA0不管是通過第三方平臺分享或者直接復(fù)制得到有用內(nèi)容都是上面的一個(gè)鏈接。
打開上面的鏈接就進(jìn)入到注冊頁面了,如圖:
- 隨便填一個(gè)手機(jī)號碼洪碳,手機(jī)驗(yàn)證碼也隨便填,開好chrome的網(wǎng)絡(luò)調(diào)試工具叼屠,點(diǎn)擊注冊瞳腌,抓包得到的請求信息如下圖:
我們可以看到請求的地址是:
http://passport.jikexueyuan.com/submit/reg_phone
參數(shù)有:
jsoncallback:jQuery21305480092712678015_1450081324705 //可無視,可以不傳
is_ajax:1 //固定內(nèi)容镜雨,寫死就行
phone:13787876566 //注冊的手機(jī)號碼嫂侍,飛碼接口得到的手機(jī)號碼
verify_code:123123 //短信驗(yàn)證碼,飛碼接口接收到的短信驗(yàn)證碼
password: //密碼冷离,自己設(shè)定
verify:0631 //圖形驗(yàn)證碼吵冒,云速接口識別
event:friend_code //固定內(nèi)容纯命,寫死就好
from_code:VSRU50 //這就是我們尋尋覓覓的邀請碼西剥,還不知道怎么得到
refrere:http://e.jikexueyuan.com/invite/index.html?ZnJvbV9jb2RlPVZTUlU1MCZ1bmFtZT1oZWxsc2FtJmNoYW5uZWw9aW52aXRlXzEwMHdfc2hhcmVidXR0b25fY29weTE=
//邀請的地址,就是我們之前打開進(jìn)入注冊頁面的地址亿汞,還不知道怎么得到
client:www //無視瞭空,可以不傳
_:1450081324713 //無視,可以不傳
通過程序員的直覺分析疗我,from_code
就是所謂的邀請碼咆畏,是跟用戶賬號一一對應(yīng)的。
那這個(gè)邀請碼是從哪里來的呢吴裤?旧找??
于是乎麦牺,小編又去請求了一遍http://e.jikexueyuan.com/invite/index.html?ZnJvbV9jb2RlPVZTUlU1MCZ1bmFtZT1oZWxsc2FtJmNoYW5uZWw9aW52aXRlX3NoYXJlYnV0dG9uX2RpcmVjdDA0钮蛛,通過抓包查看各種返回信息,又查看網(wǎng)頁源代碼剖膳,依然未能發(fā)現(xiàn)VSRU50
的蹤跡魏颓。
正當(dāng)迷惑不解的時(shí)候,喝了一瓶AD鈣奶
吱晒,頓時(shí)思如泉涌_
想到在邀請頁面不管是通過第三方分享還是直接復(fù)制得到最終有用信息都只是一個(gè)鏈接甸饱。因此通過程序員第六感判斷,邀請碼信息肯定藏在這個(gè)鏈接中。此時(shí)我注意到了鏈接后面的一長串內(nèi)容
ZnJvbV9jb2RlPVZTUlU1MCZ1bmFtZT1oZWxsc2FtJmNoYW5uZWw9aW52aXRlX3NoYXJlYnV0dG9uX2RpcmVjdDA0
這一看就知道是Base64加密的叹话,不要問我是怎么知道的_
趕緊找一個(gè)Base64在線解密網(wǎng)站http://www1.tc711.com/tool/BASE64.htm,(隨便百度到的偷遗,這樣的網(wǎng)站很多), 解碼結(jié)果如下圖:
from_code=VSRU50&uname=hellsam&channel=invite_sharebutton_direct04
終于見到熟悉的VSRU50
,此時(shí)就如夢中情人突然出現(xiàn)了在你的面前般的興奮驼壶。
這幾個(gè)參數(shù)也都比較好理解
from_code=VSRU50 //邀請碼
uname=hellsam //邀請人的用戶名
channel=invite_sharebutton_direct04 //固定內(nèi)容
此時(shí)鹦肿,隱隱的覺得好像哪里不太多,邀請碼是通過解密鏈接中的加密內(nèi)容得到的辅柴,鏈接中的加密內(nèi)容又是邀請碼和用戶名等信息加密得到的箩溃,好像進(jìn)入死循環(huán)了@_@
真是百思不得其姐~
再重新理一下思路,后臺應(yīng)該是新用戶注冊了碌嘀,就會(huì)為該用戶生成一個(gè)唯一的邀請碼涣旨,此時(shí)就有兩種猜想:
后臺傳到前端的就是鏈接后面的
ZnJvbV9jb2RlPVZTUlU1MCZ1bmFtZT1oZWxsc2FtJmNoYW5uZWw9aW52aXRlX3NoYXJlYnV0dG9uX2RpcmVjdDA0
這段內(nèi)容。后臺傳到前端的是
from_code=VSRU50&uname=hellsam&channel=invite_sharebutton_direct04
這些內(nèi)容股冗,再加密成鏈接給用戶看到的霹陡。
根據(jù)程序員的第六感判斷,第二種應(yīng)該更靠譜一些止状,所以優(yōu)先嘗試第二種烹棉。
下面抓下登錄的包看看,返回的信息里面有沒有我們要的信息怯疤。抓包截圖如下(記得勾上Preserve log不然頁面跳轉(zhuǎn)了之前的記錄就沒有了):
請求地址:
POST
http://passport.jikexueyuan.com/submit/login?is_ajax=1&client=www
請求參數(shù):
expire=7&referer=http%3A%2F%2Fwww.jikexueyuan.com%2F&uname=hellsam&password=xxxxxx&verify=1392
注意Response Headers里面的信息浆洗,里面uname
、code
都有集峦,終于所有需要的信息都可以得到了??
經(jīng)過實(shí)踐伏社,注冊成功的Response Headers里面同樣有這些信息,那么只要注冊成功后把邀請碼和用戶名存起來塔淤,之后邀請鏈接后面的一串加密內(nèi)容也可以通過邀請碼和用戶加密得到了摘昌。
總結(jié)一下
- 每個(gè)賬號注冊成功后,把獲取到的用戶名和邀請碼保存起來
那么注冊接口里面的參數(shù)就都能獲取到了
jsoncallback:jQuery21305480092712678015_1450081324705 //可無視高蜂,不用傳
is_ajax:1 //固定內(nèi)容聪黎,保持一致就行
phone:13787876566 //注冊的手機(jī)號碼,飛碼獲取的手機(jī)號碼
verify_code:123123 //短信驗(yàn)證碼备恤, 飛碼獲取的短信驗(yàn)證碼
password: //密碼稿饰,可以隨機(jī)生成密碼,也可固定一個(gè)
verify:0631 //圖形驗(yàn)證碼烘跺, 用云速識別
event:friend_code //固定內(nèi)容湘纵, 保持一致就行
from_code:VSRU50 //這就是我們尋尋覓覓的邀請碼,已經(jīng)存下了
refrere:http://e.jikexueyuan.com/invite/index.html?ZnJvbV9jb2RlPVZTUlU1MCZ1bmFtZT1oZWxsc2FtJmNoYW5uZWw9aW52aXRlXzEwMHdfc2hhcmVidXR0b25fY29weTE=
//邀請的地址滤淳,就是我們之前打開進(jìn)入注冊頁面的地址梧喷,后面這段`from_code=邀請碼&uname=用戶名&channel=invite_sharebutton_direct04`Base64加密這段信息就能得到了
client:www //無視
_:1450081324713 //無視
這時(shí),我們可以判斷,這個(gè)方案是可行的铺敌,接下來就差代碼實(shí)現(xiàn)了_
本文只做純粹的技術(shù)探討汇歹。
敬請期待《一步一步教你刷【極客學(xué)院VIP會(huì)員】(三)之代碼實(shí)現(xiàn)》
因本文內(nèi)容具有一定時(shí)效性(當(dāng)極客學(xué)院網(wǎng)站有改動(dòng)后,本文方案可能就無效了)偿凭,所以還請正在閱讀本文的你如果發(fā)現(xiàn)本文方案已失效产弹,在評論區(qū)提醒小編和其他讀者,萬分感謝弯囊!
<span style="color:#18DDDD"><strong>歡迎留言交流痰哨,如有描述不當(dāng)或錯(cuò)誤的地方還請留言告知。</strong></span>
自建博客: http://hellsam.com/
CSDN博客: http://blog.csdn.net/qp23401
簡書博客: http://www.reibang.com/users/8af058e7d824/latest_articles