Shall_die Shall_die
关注数: 6 粉丝数: 201 发帖数: 4,280 关注贴吧数: 21
【经验】【百度贴吧POST回帖】 首先说明,发帖机应该是违法的,影响了百度贴吧的秩序,仅供与学习 我对这方面了解也不是很深,这里只是阐述我个人的经验,难免有错的地方,希望得到指正和建议 感谢吧友和度娘,我学到了很多 写在前面:对POST和GET先有了解,文中很多数据需要转码(添加system.web,httputility类的方法),我自己用的IE9抓包(F12) 一.首先是登陆百度,这不是重点,所以只大致讲下过程 1.模拟登陆百度,我记得首先要获取一个cookie:BAIDUID(名字好像是这个),所以先访问百度首页,保存cookie; 2.关键参数token,获取网址“http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fpassport.baidu.com%2Fv2%2Fapi%2F%3Fgetapi%26class%3Dlogin%26tpl%3Dmn%26tangram%3Dtrue&urlrefer=8c18fba9039fa38bb621a42346b4bd8b”,附上正则:@"(?<=login.token=')[0-9a-zA-Z]+?(?=')"; 3.POST地址:http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fpassport.baidu.com%2Fv2%2Fapi%2F%3Flogin&urlrefer=1dd51b51e048700d1b64ab720a9d4bfc 关于异地登陆验证码:这个可以在post数据里面跳过的,也就是跳过验证码,这点大家自己研究吧~ 以下是post的数据: string poststr = string.Format("staticpage=http%3A%2F%2Fwww.baidu.com%2Fcache%2Fuser%2Fhtml%2Fv3Jump.html&charset=utf-8&token={0}&tpl=mn&apiver=v3&tt=1373003003468&codestring=&isPhone=false&safeflg=0&u=http%3A%2F%2Fwww.baidu.com%2F&username={1}&password={2}&verifycode=&mem_pass=on&ppui_logintime=3896&callback=parent.bd__pcbs__87uwbl", token, username, password); 当然要求验证码也没什么, 获取验证码连接:http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fpassport.baidu.com%2Fv2%2Fapi%2F%3Flogincheck%26token%3D&urlrefer=5a7efc430bd3d43cce0b2c396f40d6d7{0}&tpl=mn&apiver=v3&tt=1373766602790&username={1}&isphone=false&callback=bd__cbs__9kb7y0 验证码图片地址:http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fpassport.baidu.com%2Fcgi-bin%2Fgenimage%3F&urlrefer=c27653cf5ba412e620366dfbb57d4596" + codestring; //这点建议自己抓包试试 4.登陆之后,就得到了cookie,保存下来就可以进行登陆后的操作,比如签到啦。 //关于哪些cookie需要保存,我懒得费脑筋,每次post,get之后,都把所有cookie全更新上面是用于查询cookie的(5中用到),下面是把新获取的cookie加进去(比如在1中获取baiduid要用到) 5.如果知道是否成功登陆了呢?有很多方法,曾经看到过吧友通过分析登陆后的首页源码来判断,但是我觉得,最好是检查cookie(有4个cookie是必须的),这个总之是不会错的~
首页 1 2 下一页