POST登陸百度

總覽

使用HTTP登陸百度,主要步驟html

  1. 獲取BAIDUID
  2. 獲取APITOKEN
  3. 發送POST登陸

輔助步驟api

  • 檢測驗證碼
  • 獲取驗證碼

提示:獲取驗證碼只有在須要驗證碼的狀況下才是必須的。url



第一步,獲取BAIDUID

以GET的方式訪問code

http://tieba.baidu.com/dc/common/tbs

BAIDUID包含在返回的Cookie中。htm


第二步,獲取APITOKEN

以GET的方式訪問token

https://passport.baidu.com/v2/api/?getapi&tpl=mn

並在Cookie中帶上BAIDUID,返回內容以下圖片

var bdPass=bdPass||{};
bdPass.api=bdPass.api||{};
bdPass.api.params=bdPass.api.params||{};
bdPass.api.params._token='7770f19655cb9c8cd0b30b0a514236d4';
    bdPass.api.params._tpl='mn';

其中 bdPass.api.params._token 就是 APITOKEN。utf-8


第三步,發送POST登陸

構建登陸內容:get

charset=utf-8&mem_pass=on&token=&tpl=mn&username=&password=&codestring=&verifycode=
  • token:APITOKEN
  • username:賬號
  • password:密碼
  • codestring:驗證碼標識符
  • verifycode:驗證碼

若是沒有驗證碼,最後兩個參數是能夠忽略的。string

以POST方式發送登陸內容到

https://passport.baidu.com/v2/api/?login

並在Cookie中帶上BAIDUID,返回內容以下

#此處略去#
var url = encodeURI('#此處內容略去#&codeString=&error=0');
#此處略去#

error是錯誤碼,若是 error=0 代表登陸成功。在Cookie中能夠獲取到BDUSS,此時登陸操做所有完成。


檢測驗證碼

以GET方式請求

https://passport.baidu.com/v2/api/?logincheck&charset=utf-8&username=你的賬號

返回的內容中codestring若是有值,代表登陸時須要驗證碼。
在登陸時,帶上codestring和識別後的驗證碼,就能夠以有驗證碼的方式進行登陸。


獲取驗證碼

驗證碼圖片地址

https://passport.baidu.com/cgi-bin/genimage?驗證碼的codestring

文章來源:http://yueqiumao.com/p/9.html

相關文章
相關標籤/搜索