概述
总览
使用HTTP登录百度,主要步骤
- 获取BAIDUID
- 获取APITOKEN
- 发送POST登录
辅助步骤
- 检测验证码
- 获取验证码
提示:获取验证码只有在需要验证码的情况下才是必须的。
第一步,获取BAIDUID
以GET的方式访问
http://tieba.baidu.com/dc/common/tbs
BAIDUID包含在返回的Cookie中。
第二步,获取APITOKEN
以GET的方式访问
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。
第三步,发送POST登录
构建登录内容:
charset=utf-8&mem_pass=on&token=&tpl=mn&username=&password=&codestring=&verifycode=
- token:APITOKEN
- username:帐号
- password:密码
- codestring:验证码标识符
- verifycode:验证码
如果没有验证码,最后两个参数是可以忽略的。
以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
最后
以上就是单身小甜瓜为你收集整理的POST登录百度的全部内容,希望文章能够帮你解决POST登录百度所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复