投票功能限制刷票是通过限制单个IP的投票次数实现的,所以写了个脚本用于测试此功能。
1 #-*- coding=utf-8 -*- 2 ''' 3 功能:此脚本用于用不同的IP刷票 4 作者:Elle 5 最后修改日期:2017/12/6 6 ''' 7 8 import requests 9 10 def Vote(URL,Item_Id,Proxy_IP): 11 ''' 12 function:用于投票一次 13 :param URL: 以字符串传入用于投票的接口的完整链接 14 :param Item_Id: 需要投票的选手的itemId 15 :param Proxy_IP: 用于投票的代理IP 16 :return: 返回投票结果,成功返回 True,失败返回 False 17 ''' 18 url = URL 19 body = { 20 "itemId":Item_Id 21 } 22 23 Responds = requests.post(url,data=body,proxies=Proxy_IP).text #用代理IP请求投票接口 24 Respect = '''"state":0''' #预期结果 25 # 判断投票成功或失败,并返回结果 26 if Respect in Responds: 27 return True 28 else: 29 print "投票失败,响应体为:",Responds 30 return False 31 32 if __name__ == '__main__': 33 # 代理IP列表,代理IP及其端口号可以从http://www.xicidaili.com/获取 34 Proxy_List = [ {"https": "https://221.204.117.218:9797"},{"https": "https://113.65.8.221:9999"}] 35 # 投票接口的链接 36 url = "用于刷票的链接" 37 # 开始刷票,每个代理IP刷10次 38 for j in range(0,len(Proxy_List)): 39 for i in range(0,10): 40 try: 41 Result = Vote(url,"157132",Proxy_List[j]) 42 except: 43 print "使用代理IP报错" 44 continue 45 if Result: 46 print "第%s个代理IP的第%s次投票操作成功"%(j+1,i+1) 47 continue 48 else: 49 break