使用HTTP登陸百度,主要步驟html
輔助步驟api
提示:獲取驗證碼只有在須要驗證碼的狀況下才是必須的。url
以GET的方式訪問code
http://tieba.baidu.com/dc/common/tbs
BAIDUID包含在返回的Cookie中。htm
以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
構建登陸內容:get
charset=utf-8&mem_pass=on&token=&tpl=mn&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