最近朋友帮我他在线投票了。 因为网站限制了IP (这里其实是骗人的),所以我向他订购了。 但是,突然,第一名的票数比后面的人多得多,差3-4百票吧。 我想第一个人一定是有人帮我投票的,那就失去了投票本身的意义。 于是我故意想做坏事。 考虑编写和完成自动投票的程序。 会不会动武? )
我分析了投票的网站。 以上限制了IP,但据我的分析,不是限制IP,而是使用cookie中记录的投票信息。 清除cookIE就可以重新投票,但这样每次都需要手动调整ie的参数,会很累很累。 因此,我想你能不能自动删除COOKIES,自动提交页面并提交。
以上分析表明,进行此过程需要两个步骤。
1、自动清除COOKIES
2、自动提交表格
让我们先看看第一个
我查过了。 这是MSDN的网站。 有HI Script的栏。 介绍了许多运行WINDOWS脚本的技术,其中有关于IE临时文件夹和COOKIES目录的操作方法的功能。 33558 www.Microsoft.com/China/TechNet/community/script center/resources/hey 1102.mspx
根据里面的方法,我为了用C#删除COOKIES写了以下代码。 应该注意的是,因为不能删除其中的index.dat文件,所以进行了删除所有他想的东西的处理。 代码如下所示。
const int cookies=33; Shell32.Folder objFolder; shell32.folderitemsobjfolderitems; 外壳32 .外壳类obj外壳; obj shell=new shell32.shell class (; objfolder=obj外壳. namespace(cookies ); objFolderItems=objFolder.Items (; foreach (shell32.folderitemobjfolderiteminobjfolderitems ) if (! ‘ index.dat ‘.equals (objfolder item.name.to lower () ) file.delete (objfolder item.path.tostring ) ); }
第一步解决了,必须解决第二个问题。 我查了一些资料。 我发现有两种方法可以解决我的问题
1、使用web客户端
这种方式可以直接执行页面提交这种方式,进行页面控制,并且可以返回提交结果页面的内容,速度很快。
2、使用网页浏览器
这类似于自己创建浏览器,以控制和发送页面中的对象。 这样的速度有点慢。
所以我决定使用第一种方法。 代码如下。
WebClient wc=new WebClient (; string post data=’ username=XXX ‘ WC.headers.add ‘,’ content-type ‘,’ application/x-www-form-urlencoded ‘ //messagebox.show (encoding.default.getstring ) breturn ); wc.Dispose (;
看到了吧。 这样就可以了。
之后用一个timer循环执行就可以了。
哈哈,一切都这么简单。 但是,我认为那有公平原则。 请不要用在不好的地方。 当然,用来惩戒作弊的人除外