投票功能限制刷票是通过限制单个IP的投票次数实现的,所以写了个脚本用于测试此功能。
#-*- coding=utf-8 -*-
'''
功能:此脚本用于用不同的IP刷票
作者:Elle
最后修改日期:2017/12/6
''' import requests def Vote(URL,Item_Id,Proxy_IP):
'''
function:用于投票一次
:param URL: 以字符串传入用于投票的接口的完整链接
:param Item_Id: 需要投票的选手的itemId
:param Proxy_IP: 用于投票的代理IP
:return: 返回投票结果,成功返回 True,失败返回 False
'''
url = URL
body = {
"itemId":Item_Id
} Responds = requests.post(url,data=body,proxies=Proxy_IP).text #用代理IP请求投票接口
Respect = '''"state":0''' #预期结果
# 判断投票成功或失败,并返回结果
if Respect in Responds:
return True
else:
print "投票失败,响应体为:",Responds
return False if __name__ == '__main__':
# 代理IP列表,代理IP及其端口号可以从http://www.xicidaili.com/获取
Proxy_List = [ {"https": "https://221.204.117.218:9797"},{"https": "https://113.65.8.221:9999"}]
# 投票接口的链接
url = "用于刷票的链接"
# 开始刷票,每个代理IP刷10次
for j in range(0,len(Proxy_List)):
for i in range(0,10):
try:
Result = Vote(url,"",Proxy_List[j])
except:
print "使用代理IP报错"
continue
if Result:
print "第%s个代理IP的第%s次投票操作成功"%(j+1,i+1)
continue
else:
break