使用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