ASP.NET 搭建贴吧机器人(零)
来源:互联网 发布:如何才能避免淘宝同款 编辑:程序博客网 时间:2024/05/17 01:48
各种各样的贴吧自动回复、签到机器人屡见不鲜,基于PHP的也随处可见。用C#语言写的也有,不过以单机版居多,但是既然是机器人,一般是需要24小时不断运行的,这就需要在服务器上运行了。
不管怎么实现,第一步是要登录自己的贴吧帐号的。
贴吧帐号的登陆流程一般是:
1.登陆前获取一个BAIDUID(baidu就算你没登陆也会给你分配一个BAIDUID),保存到Cookie中去。(如果正确,则获得的cookie包含3个成员:BAIDUID,BIDUPSID,PSTM)
2.根据保存的Cookie获取一个token。如果token存在,则表明网络连接正常。为后续的登录做准备。(如果获得正确,则获得的cookie包含4个成员,比上一次多了HOSUPPORT)
3.向百度发送登陆数据获取验证码地址(如果有验证码,则获得Cookie包含5个成员,比上一个多了个UBI)
4.向百度发送包含验证码的数据,这样就正常登录了。(获得的Cookie数量有11个,比上一次多了HISTORY,SAVEUSERID,USERNAMETYPE,PTOKEN,STOKEN还有关键的BDUSS,总共11个cookie)
遇到的困难也是许多人都遇到的问题。NET 4.0以后对Cookie过期的处理。
在3.5及之前,系统对cookie过期时间为空的认定为永不过期。而在4.0及之后,则认定过期时间是1938年1月1日,即早就过期了,就自动清空,这样就导致在第二部获取token时前面获取的cookie什么都不包含,也就获取不了token,难以完成接下来的处理。
解决方法很简单,换回net 3.5或者手动设置永不过期:
this.CookieCollection = HWR_Response.Cookies; //防止cookie过期 foreach (Cookie Each_Cookie in this.CookieCollection) { if (Each_Cookie.Expires.Year < 2000) { Each_Cookie.Expires = DateTime.MaxValue; CookieContainer.Add(Each_Cookie); } }其中CookieCollection是供我们查看的response命令返回的cookies,CookieContainer是发送命令时所需要的cookie容器,也就是我们一直都需要用的所谓“Cookie”。
- ASP.NET 搭建贴吧机器人(零)
- ASP.NET零起点教程
- ASP.NET零基础课程
- Asp.net环境的搭建
- 搭建ASP.NET运行环境
- ASP.NET三层搭建步骤
- Asp.net MVC 环境搭建
- Asp.net MVC 环境搭建 .
- asp.net开发环境搭建
- 搭建 Asp.net 云服务器
- ASP.NET零基础学习(一):ASP.NET与ASP综合测评
- ASP.NET Web开发框架之零 项目介绍
- ASP.NET零基础学习(二):六大验证控件
- ASP.NET零基础学习(三):内置对象
- 搭建asp.net平台问题集
- 搭建asp.net平台遇到的问题
- asp.net网站服务器搭建之从零开始
- asp.net网站服务器搭建之从零开始
- 乐学成语(2)
- Cannot connect to the Docker daemon. Is the docker daemon running on this host?
- 栈的顺序存储java写法
- centos7的vsftpd的安装和配置
- Java for Web学习笔记(二一):EL(1)什么是EL
- ASP.NET 搭建贴吧机器人(零)
- 中介者模式
- 栈的链接存储java写法
- Android-数据存储2(SQLite)及Android底层框架简介
- Ubuntu下apt-get安装Java,Tomcat
- Andorid View工作机制(3)—measure过程 下
- 【Get深一度】SCI及JCR——杂志某一年影响因子(IF)及引用频次(CI)计算的方法
- Android 新闻App的开发思路
- 杭电-2028 Lowest Common Multiple Plus (LCM)