幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

刷票系统(微信人工投票10元1000票)

  刷票系统(微信人工投票10元1000票)
  一、前言
  相信大家平时肯定会收到朋友发来的链接,打开一看,哦,需要投票。投完票后弹出一个页面(恭喜您,您已经投票成功),再次点击的时候发现,啊哈,您的IP(。。。)已经投过票了,不能重复投票。这时候,我们可能会想,能不能突破ip地址的限制进行刷票呢?有了这样的想法,那就去做吧,下面我将介绍我这个简单的刷票系统,仅供有需求的园友们参考。
  二、系统设计
  系统主要实现的是突破IP限制进行刷票,其中,由IP采集模块负责从互联网上爬取代理IP,放入阻塞队列,该任务会定期执行。之后由投票模块从阻塞队列中获取IP,并进行设置,然后进行投票。系统流程图如下:
  三、系统技术
  系统使用HttpClientJSoup多线程来完成刷票,HttpClient用于进行投票,JSoup用于解析页面,多线程技术用于分离任务,使得分工更加明确。使用到了生产者消费者模式,该模式直接使用BlockingQueue来实现。
  四、系统介绍
  系统主要分为三个模块:
  IP采集模块
  投票模块
  IP信息模块
  其中,IP采集模块主要是从互联网爬取IP代理信息,并将该信息放入阻塞队列,这样就可以伪造IP,进行多次投票。
  其中,投票模块从IP采集模块放入阻塞队列取出IP信息,并设置代理,找到投票入口地址,然后进行投票操作。
  其中,IP信息模块主要是对爬取的IP信息进行了封装,方便其他模块进行操作。
  4。1IP采集模块
  IP采集模块流程图如下
  几点说明:
  1。系统使用的代理IP站点URL为http:www。kuaidaili。com,www。xicidaili。com。
  2。提取IP信息为提取单条IP信息,并判断历史IP表是否已经存在,若存在,表示之前已经加入过此IP信息,则直接丢弃,反之,则加入队列并加入历史IP表。
  3。此任务会定期开启,如一个小时爬取一次代理IP。
  4。2投票模块
  投票模块流程图如下
  几点说明:
  1。投票网站
  http:www。hnxdf。comvote,我们选取的第一位进行投票,分析出投票的入口为http:www。hnxdf。comvoteiRadiovote。asp?VoTeid215。
  2。根据IP采集模块放入队列的IP信息进行设置,然后进行投票。
  4。3IP信息模块
  此模块主要对从网站爬取的IP信息进行了封装,方便其他模块进行操作。
  五、系统代码框架
  系统的整个代码框架如下
  其中,bean包的IpInfo封装了爬取的IP信息。
  其中,entrance包的Vote为系统的入口。
  其中,thread包的IPCollectTask为爬取代理IP任务,VoteThread为进行投票线程。
  六、系统代码
  1。IpInfo。javapackagecom。hust。grid。leesf。bean;publicclassIpInfo{publicIpInfo(StringipAddress,intport,Stringlocation,StringanonymousType,Stringtype,StringconfirmTime){this(ipAddress,port,location,anonymousType,type,confirmTime,null,null);}publicIpInfo(StringipAddress,intport,Stringlocation,StringanonymousType,Stringtype,StringconfirmTime,StringgetPostSupport,StringresponseSpeed){this。ipAddressipAddress;this。portport;this。locationlocation;this。anonymousTypeanonymousType;this。typetype;this。confirmTimeconfirmTime;this。getPostSupportgetPostSupport;this。responseSpeedresponseSpeed;}publicStringgetIpAddress(){returnipAddress;}publicvoidsetIpAddress(StringipAddress){this。ipAddressipAddress;}publicintgetPort(){returnport;}publicvoidsetPort(intport){this。portport;}publicStringgetLocation(){returnlocation;}publicvoidsetLocation(Stringlocation){this。locationlocation;}publicStringgetAnonymousType(){returnanonymousType;}publicvoidsetAnonymousType(StringanonymousType){this。anonymousTypeanonymousType;}publicStringgetType(){returntype;}publicvoidsetType(Stringtype){this。typetype;}publicStringgetConfirmTime(){returnconfirmTime;}publicvoidsetConfirmTime(StringconfirmTime){this。confirmTimeconfirmTime;}publicStringgetGetPostSupport(){returngetPostSupport;}publicvoidsetGetPostSupport(StringgetPostSupport){this。getPostSupportgetPostSupport;}publicStringgetResponseSpeed(){returnresponseSpeed;}publicvoidsetResponseSpeed(StringresponseSpeed){this。responseSpeedresponseSpeed;}Overridepublicbooleanequals(Objectanthor){if(thisanthor){returntrue;}if(anthornullgetClass()!anthor。getClass()){returnfalse;}IpInfoipInfo(IpInfo)anthor;return(this。ipAddress。equals(ipInfo。ipAddress)amp;amp;this。portipInfo。portamp;amp;this。location。equals(ipInfo。location)amp;amp;this。anonymousType。equals(ipInfo。anonymousType)amp;amp;this。type。equals(ipInfo。type)amp;amp;this。confirmTime。equals(ipInfo。confirmTime))amp;amp;this。getPostSupport。equals(ipInfo。getPostSupport)amp;amp;this。responseSpeed。equals(ipInfo。responseSpeed);}OverridepublicinthashCode(){inthash5;hash89hash(this。ipAddress!null?this。ipAddress。hashCode():0);hash89hashthis。port;hash89hash(this。location!null?this。location。hashCode():0);hash89hash(this。anonymousType!null?this。anonymousType。hashCode():0);hash89hash(this。type!null?this。type。hashCode():0);hash89hash(this。confirmTime!null?this。confirmTime。hashCode():0);hash89hash(this。getPostSupport!null?this。getPostSupport。hashCode():0);hash89hash(this。responseSpeed!null?this。responseSpeed。hashCode():0);returnhash;}OverridepublicStringtoString(){returnipAddressipAddress,portport,localtionlocation,anonymousTypeanonymousType,typetype,confirmTimeconfirmTime,getPostSupportgetPostSupport,responseSpeedresponseSpeed;}privateStringipAddress;privateintport;privateStringlocation;privateStringanonymousType;privateStringtype;privateStringconfirmTime;privateStringgetPostSupport;privateStringresponseSpeed;}
  2。Vote。javapackagecom。hust。grid。leesf。entrance;importjava。util。Timer;importjava。util。concurrent。BlockingQueue;importjava。util。concurrent。LinkedBlockingQueue;importcom。hust。grid。leesf。bean。IpInfo;importcom。hust。grid。leesf。thread。IPCollectTask;importcom。hust。grid。leesf。thread。VoteThread;publicclassVote{privateBlockingQueuelt;IpInfogt;ipInfoQueue;privateIPCollectTaskipCollectTask;privateVoteThreadvoteThread;publicVote(){ipInfoQueuenewLinkedBlockingQueuelt;IpInfogt;();ipCollectTasknewIPCollectTask(ipInfoQueue);voteThreadnewVoteThread(ipInfoQueue);}publicvoidvote(){TimertimernewTimer();longdelay0;longperiod10006060;每一个小时采集一次iptimer。scheduleAtFixedRate(ipCollectTask,delay,period);开启投票任务voteThread。start();}publicstaticvoidmain(String〔〕args){VotevotenewVote();vote。vote();}}
  3。IPCollectTask。javapackagecom。hust。grid。leesf。thread;importjava。io。IOException;importjava。util。ArrayList;importjava。util。List;importjava。util。TimerTask;importjava。util。concurrent。BlockingQueue;importjava。util。concurrent。LinkedBlockingQueue;importorg。jsoup。Jsoup;importorg。jsoup。nodes。Document;importorg。jsoup。nodes。Element;importorg。jsoup。select。Elements;importcom。hust。grid。leesf。bean。IpInfo;publicclassIPCollectTaskextendsTimerTask{privateBlockingQueuelt;IpInfogt;ipInfoQueue;连接生产者与消费者的阻塞队列privateListlt;IpInfogt;historyIpLists;记录已经获取的ip信息publicIPCollectTask(BlockingQueuelt;IpInfogt;ipInfoQueue){this。ipInfoQueueipInfoQueue;this。historyIpListsnewArrayListlt;IpInfogt;();}获取www。xicidaili。com的ip地址信息publicvoidgetXiCiDaiLiIpLists(){Stringurlhttp:www。xicidaili。com;Stringhostwww。xicidaili。com;DocumentdocgetDocumentByUrl(url,host);解析页面的ip信息parseXiCiDaiLiIpLists(doc);}解析页面的ip信息paramdocpublicvoidparseXiCiDaiLiIpLists(Documentdoc){ElementseleListsdoc。getElementsByTag(tbody);ElementtbodyeleLists。get(0);获取tbodyElementstrListstbody。children();Elementelenull;for(inti0;ilt;trLists。size();i){if((i220)(i221)){去掉不符合条件的项continue;}eletrLists。get(i);ElementschildrenListele。children();StringipAddresschildrenList。get(1)。text();intportInteger。parseInt(childrenList。get(2)。text());StringlocationchildrenList。get(3)。text();StringanonymousTypechildrenList。get(4)。text();StringtypechildrenList。get(5)。text();StringconfirmTimechildrenList。get(6)。text();IpInfoipInfonewIpInfo(ipAddress,port,location,anonymousType,type,confirmTime);putIpInfo(ipInfo);}}将ip信息放入队列和历史记录中paramipInfoprivatevoidputIpInfo(IpInfoipInfo){if(!historyIpLists。contains(ipInfo)){若历史记录中不包含ip信息,则加入队列中加入到阻塞队列中,用作生产者try{ipInfoQueue。put(ipInfo);}catch(InterruptedExceptione){TODOAutogeneratedcatchblocke。printStackTrace();}加入历史记录中historyIpLists。add(ipInfo);}}根据网页Document解析出ip地址信息paramdocprivatevoidparseKuaiDaiLiIpLists(Documentdoc){ElementseleListsdoc。getElementsByTag(tbody);ElementtbodyeleLists。get(0);获取tbodyElementstrListstbody。children();获取十条ip记录for(Elementtr:trLists){遍历trElementstdElementstr。children();tr中的td包含了具体的信息StringipAddresstdElements。get(0)。text();intportInteger。parseInt(tdElements。get(1)。text());StringanonymousTypetdElements。get(2)。text();StringtypetdElements。get(3)。text();StringgetPostSupporttdElements。get(4)。text();StringlocationtdElements。get(5)。text();StringresponseSpeedtdElements。get(6)。text();StringconfirmTimetdElements。get(7)。text();IpInfoipInfonewIpInfo(ipAddress,port,location,anonymousType,type,confirmTime,getPostSupport,responseSpeed);putIpInfo(ipInfo);}}根据提供的url和host来获取页面信息paramurlparamhostreturnprivateDocumentgetDocumentByUrl(Stringurl,Stringhost){Documentdocnull;try{docJsoup。connect(url)。header(UserAgent,Mozilla5。0(WindowsNT6。1;WOW64;rv:43。0)Gecko20100101Firefox43。0)。header(Host,host)。timeout(5000)。get();}catch(IOExceptione){e。printStackTrace();}returndoc;}获取http:www。kuaidaili。comfree的ipprivatevoidgetKuaiDaiLiFreeIpLists(){第一次访问,需解析总共多少页StringbaseUrlhttp:www。kuaidaili。comfreeinha;Stringhostwww。kuaidaili。com;DocumentdocgetDocumentByUrl(baseUrl,host);解析ip信息parseKuaiDaiLiIpLists(doc);ElementlistNavdoc。getElementById(listnav);获取listnav下的li列表ElementsliListslistNav。children()。get(0)。children();获取含有多少页的子元素ElementpageNumberEleliLists。get(liLists。size()2);解析有多少页intpageNumberInteger。parseInt(pageNumberEle。text());拼接成其他页的访问地址for(intindex1;indexlt;pageNumber;index){baseUrlbaseUrlindex;docgetDocumentByUrl(baseUrl,host);parseKuaiDaiLiIpLists(doc);休眠一秒fallSleep(1);}}获取www。kuaidaili。comproxylist的ipprivatevoidgetKuaiDaiLiIpLists(){intstart1;StringbaseUrlhttp:www。kuaidaili。comproxylist;Stringhostwww。kuaidaili。com;while(startlt;10){爬取10页StringurlbaseUrlstart;DocumentdocgetDocumentByUrl(url,host);解析ip信息parseKuaiDaiLiIpLists(doc);start;休眠一秒fallSleep(1);}}进行休眠privatevoidfallSleep(longseconds){try{Thread。sleep(seconds1000);}catch(InterruptedExceptione){e。printStackTrace();}}Overridepublicvoidrun(){getKuaiDaiLiFreeIpLists();System。out。println(IPCollecttaskisrunning);getKuaiDaiLiIpLists();getXiCiDaiLiIpLists();}publicBlockingQueuelt;IpInfogt;getIpInfoQueue(){returnipInfoQueue;}publicstaticvoidmain(String〔〕args){BlockingQueuelt;IpInfogt;queuenewLinkedBlockingQueuelt;IpInfogt;();IPCollectTasktasknewIPCollectTask(queue);ThreadthreadnewThread(task);thread。start();try{Thread。sleep(301000);}catch(InterruptedExceptione){TODOAutogeneratedcatchblocke。printStackTrace();}System。out。println(queuesizeisqueue。size());try{while(!queue。isEmpty()){System。out。println(queue。take());}}catch(InterruptedExceptione){e。printStackTrace();}System。out。println(historyListsizeistask。historyIpLists。size());}}
  4。VoteThread。javapackagecom。hust。grid。leesf。thread;importjava。io。IOException;importjava。util。concurrent。BlockingQueue;importorg。apache。http。HttpEntity;importorg。apache。http。HttpHost;importorg。apache。http。HttpResponse;importorg。apache。http。client。ClientProtocolException;importorg。apache。http。client。HttpClient;importorg。apache。http。client。methods。HttpGet;importorg。apache。http。conn。params。ConnRoutePNames;importorg。apache。http。impl。client。DefaultHttpClient;importorg。apache。http。params。HttpConnectionParams;importorg。apache。http。params。HttpParams;importorg。apache。http。util。EntityUtils;importcom。hust。grid。leesf。bean。IpInfo;publicclassVoteThreadextendsThread{privateBlockingQueuelt;IpInfogt;ipInfoQueue;publicVoteThread(BlockingQueuelt;IpInfogt;ipInfoQueue){this。ipInfoQueueipInfoQueue;}Overridepublicvoidrun(){HttpClientclientnewDefaultHttpClient();HttpParamsparamsclient。getParams();HttpConnectionParams。setConnectionTimeout(params,10000);HttpConnectionParams。setSoTimeout(params,15000);HttpResponseresponsenull;HttpGetgetnull;HttpEntityentitynull;HttpHostproxynull;while(true){IpInfoipInfonull;try{ipInfoipInfoQueue。take();}catch(InterruptedExceptione1){TODOAutogeneratedcatchblocke1。printStackTrace();}proxynewHttpHost(ipInfo。getIpAddress(),ipInfo。getPort());client。getParams()。setParameter(ConnRoutePNames。DEFAULTPROXY,proxy);getnewHttpGet(http:www。hnxdf。comvoteiRadiovote。asp?VoTeid215);get。addHeader(Host,www。hnxdf。com);get。addHeader(UserAgent,Mozilla5。0(WindowsNT6。1;WOW64;rv:43。0)Gecko20100101Firefox43。0);try{responseclient。execute(get);entityresponse。getEntity();byte〔〕bytesEntityUtils。toByteArray(entity);对响应内容编码格式进行转化,统一成utf8格式StringtempnewString(bytes,gbk);byte〔〕contentDatatemp。getBytes(utf8);System。out。println(newString(contentData));System。out。println();}catch(ClientProtocolExceptione){e。printStackTrace();}catch(IOExceptione){e。printStackTrace();}}}}
  七、系统总结
  此系统很简单,想清楚思路之后很快就能够写出代码,系统运行时,由于代理IP站点提供的免费IP质量不是太高,有效的IP地址还是很少,所有效果不是特别理想,此系统功能也很简单,但是各位园友可以在此基础上去发挥自己的想象力,定制属于自己的投票系统。

曲径通幽处禅房花木深(曲径通幽处的隐晦含义)曲径通幽处禅房花木深(曲径通幽处的隐晦含义)6月初,正是门头沟妙峰山高山玫瑰盛开的时节。每年都去妙峰山高山玫瑰园赏花登高望远,今日想另辟蹊径,寻到一处秘境,这就是禅房村。……余文乐为什么叫六叔(余文乐为什么叫世界仔)余文乐品牌服装又闹幺蛾子?这到底是怎么回事?中国香港艺人余文乐2日登上微博热搜,原因是其服装品牌MADNESS的一款卫衣上的图案被发现疑似是香港修例风波中暴徒所喊口号的手……什么叫怀孕(事后最快几天测出怀孕)对于育龄期妇女,如果月经超过三四天没有月经来潮,就可以进行早早孕的实验,如果早早孕出现两条杠,也就是阳性的情况下,基本上可以确诊为是怀孕了。对于月经不规律的育龄期妇女,月……娈怎么读(鼋鼍之年怎么读)鼋(读音:〔yun〕),是龟鳖科中的一属,特点是体型大,体重可达100公斤。属于世界濒危保护动物(CITES附录级)和中国国家一级重点保护野生动物。淡水龟鳖类中体形最大的……B证多久审(A2的证按B证的审吗)驾驶证全称为机动车驾驶证,又作驾照,依照法律机动车辆驾驶人员所需申领的证照。驾驶机动车需要一定的驾驶技能,缺少这种技能的如果随意驾驶机动车。驾驶证全称为机动车驾驶证,又作……放高利贷犯法吗(高利贷罪立案标准)高利贷是一种违法行为,因为《民法典》中明确禁止高利放贷。另外高利贷也很容易衍生出其他违法犯罪行为,如套取金融机构贷款的高利转贷罪,以及非法催收高利贷的催收非法债务罪。高利……送领导什么礼物合适(领导一般喜欢什么礼物)送礼是个大学问,如果掌握好了对自己有帮助,如果掌握不好,送了也是白送,甚至如果送错了,那么将会给你带来很大麻烦。想要知道送礼到底送什么,就必须掌握以下三点原则。01……台风10号2020近日台风10号2020登录了热搜,也是在网上引起了网友们的关注,那么很多小伙伴可能还不清楚具体的情况如何,小编也是在网上查阅了一些信息,那么接下来就分享给大家来了解下台风10号……什么茶叶最贵(什么茶叶档次最高)我相信很多喜欢喝茶的朋友都清楚自己喜欢喝的茶叶价位,作为茶叶爱好者,不清楚你有没留心一下茶叶市场的行情变化,今天给大家介绍的是中国乃至世界最贵茶叶排行榜,你可能永远都无法理解,……清一色什么意思(说一个人清一色是什么意思)如何做一色牌一色有几种:从形态上看来,应分为清一色与混一色两种。清一色即全副牌俱是一色,如是万子一色,就不但没有筒子及索子,而且没有东、南、西、北、中、发、白。这样……社保卡怎么开通(怎么查自己是否办过社保卡)社保卡如何激活?我们现在持有的社保卡通常包含两个账户,一个是金融账户,一个是社保个人账户(也称医保账户)。前者具备存取款、转账、领取社保补贴退休金等功能,后者则具备……gps怎么用(gps怎么定位)接触这行很多年,很多朋友打电话来咨询我们北斗gps定位器的适用范围,安转要求和手机怎么监控。我集中说下以上问题早期出厂的基本都是gps定位器,现在基本都是双定位,即……
水空调效果怎么样(水空调到底好不好)站在河边时,微风吹过会让人感觉特别凉爽,这是因为河水因空气中的热量而蒸发,使空气温度下降,从而带给我们凉爽的冷空气。在二千五百年前,埃及人利用芦苇编织成窗帘,在窗帘上加水,通过……淮安是哪个省的(淮安在山东的哪个方向)这里是刘小顺的旅行和生活研究所。淮安市位于江苏省的中北部、江淮平原东部,属于苏北地区,是苏北地区一座非常重要的城市,最近这些年发展迅速,越来越受大家的。前段时间,我……钻石为什么那么贵(天然钻石原石值钱吗)有小伙伴问我,为什么小小的钻石,少则能卖六七千,多着几万、几十万呢?那我们今天就一起捋一捋钻石为啥能卖到那么贵。一、钻石的探寻和开采耗资都相当的大。如:原苏联西伯利亚地区……巴西龟如何分公母(巴西龟怎么分公母?)巴西龟如何分公母(巴西龟怎么分公母?)巴西龟具有适应能力强、容易人工饲养以及市场供不应求等特点,所以养殖巴西龟是一个不错的水产养殖致富项目。在养殖巴西龟过程中,注意巴西龟公母的……哪个牌子的蓝牙耳机好(2021性价比高的头戴式耳机)随着蓝牙技术的不断发展,现在市面上出现许许多多的蓝牙电子产品,其中蓝牙耳机是目前普及率最高且类型最丰富的蓝牙产品。蓝牙耳机让人们摆脱了有线耳机的束缚,深受用户的喜爱。那么使用蓝……包子蒸多久熟(蒸包子几分钟能熟)不管是肉包子还是素包子一般上汽后再蒸15分钟即可。重要的是关火后先不要着急揭锅盖,让包子在锅里继续焖3分钟左右再掀开锅盖。这样蒸出的包子就是圆乎乎又喧软的,如果关火后就揭盖,冷……围栏哪里有(床围栏)太心疼了,昨天我家一岁三个月的宝宝从床上摔了下去,磕的额头跟嘴巴都流血了因为我家宝宝现在一岁三个月了,走路也比较牢稳了,我家的床平时也是挨着墙放,加上床比较矮,宝宝自己都……杨子夫妇(杨子打黄圣依)杨子夫妇(杨子打黄圣依)文逸宁、江左梅娘看了《婆婆和妈妈2》,我竟然被黄圣依和杨子这对夫妻意外圈粉了。嫁入豪门14年的黄圣依,足足被骂了很多年。小三上位,杨子……机器人伤人事件(全国首例机器人伤人事件告诫)机器人伤人事件(全国首例机器人伤人事件告诫)在弱人工智能时代,机器人即使做出伤害,仍然是可控范围之内,产品对应的商家可能负有生产劣质产品的罪名,而我们仍然没有意识到机器人……15年春节放假安排(2015放假安排时间表出炉!)15年春节放假安排(2015放假安排时间表出炉!)2015年春节放假安排时间表2月18日:除夕2月19日:春节2月18日至24日放假调休,共7天。2月1……个人网站怎么赚钱(捞偏门不怕死的交流群)通常情况下,我们在做网站的时候,一般有两种网站类型,我把它分为:资讯类和工具功能类。我们平时在做的网站基本上都是资讯类,因为更容易适合新手去做,一般一个网站熟练一点地站长……黑色长裙配什么鞋子(黑色秋款连衣裙搭配什么鞋)黑色的连衣裙最经典时髦了。黑色是很神秘又性感的颜色,但是又是最容易让人觉得沉闷的颜色,所以在搭配上需要选择一些浅色的配饰来进行搭配。接下来就来学习一组时尚达人的黑色连衣裙穿搭示……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网