京東post登錄


以前用網頁填表玩了下京東的操作,雖然網頁填表操作簡單,但是缺點也相當的明顯。后來就想着試試post來登錄京東。

post登錄京東重點就是下面幾點:

第一:獲取到正確的封包,這個時候需要我們多抓幾次包來進行對比,發現其中的不同點和相同點

第二:登錄驗證碼的問題,如果不用軟件登錄的話,很多時候是不需要驗證碼,但是用post貌似是必須要驗證碼

第三:網頁登錄頁面源碼含有post提交參數

下面我們依次來分析下:

獲取正確的封包

uuid=487d1f6e-e6c5-4c23-944b-e7c994a7f81d&loginname=j*&nloginpwd=d*&loginpwd=d*&machineNet=&machineCpu=&machineDisk=&authcode=&TSmOricmTZ=gniON

這是第一次抓取的post包。TSmOricmTZ=gniON這一段里等號前面是參數名稱,后面是參數的值。大家注意下,一般來說參數名稱是不變的,值是可變的。大家肯定要問,這有什么好注意的肯定是這樣啊,但是問題就來了,往往大家都以為這樣的東西才會麻痹我們。不信,我們下面再抓一次包看看。

uuid=fe441e02-6d4b-41ad-bb1a-94f057d8eb5e&loginname=j*&nloginpwd=d*&loginpwd=d*&machineNet=&machineCpu=&machineDisk=&authcode=&QnadIHWfDr=Vozag

 

發現什么不同了嗎,后面那段等號前面的名稱也是可變的,不僅僅是值是可變的。所以大家抓包的時候一定多抓兩次,這樣對比的話,才能發現問題更加准確!

注意登錄驗證碼的問題

 大家如果看post包里面的&authcode=&這一段,第一反應就是驗證碼為空。這是沒錯的,我們多抓幾次包都是這樣,並且我們登錄的時候,頁面也確實是沒有驗證碼選項的。

post抓取是沒有任何問題的,但是問題反而就來了。當我按照這種格式驗證碼為空的提交的時候,響應的數據提示“驗證碼為空”,一直無法登錄成功,這讓我百思不得其姐!

 最后只剩下一個解釋:post提交必須帶上驗證碼。

如何獲取到驗證碼的包呢,登錄頁面一般又不是經常出現驗證碼,只有重復刷新登陸幾次了。最后想要的頁面終於出現了。

 https://authcode.jd.com/verify/image?a=1&acid=46e37f33-c280-410f-822e-3295caae06fd&uid=46e37f33-c280-410f-822e-3295caae06fd&yys=1425883312677

上面就是驗證碼的包,仔細分析下這個包的數據,acid的值和uid的值是一樣的,這兩個是相同的都是uuid的值。最后就是搞不清楚yys=1425883312677這段是什么,也無法獲取到。這個問題差點讓我望而卻步,正常的想法肯定是如果沒有這段應該不能成為正確的驗證碼包。后來果斷的去掉后面那段,提交ie試試,結果也出現了驗證碼圖片。很驚喜!

 https://authcode.jd.com/verify/image?a=1&acid=46e37f33-c280-410f-822e-3295caae06fd&uid=46e37f33-c280-410f-822e-3295caae06fd

竟然也能出現驗證碼,得到驗證碼,那就用這段當作驗證碼包應該問題不大,后面證明這個嘗試是正確的!

獲取post提交參數

關於上post的參數,上面也說了,uuid和后面那幾個值,都在登錄頁面的源碼里面可以搜索到!用正則取就可以了!!!

好了就說那么多,京東電腦版的post登錄基本重點都是這些了,還是比較的簡單,以后京東登錄會改版,這個目前是試用的!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM