人工投票-人工刷票-专业投票刷票-微信投票刷票-胜易投票网

您现在的位置是:首页 > 微信投票 > 正文

微信投票

刷票:微信刷票和小程序刷票如何实现安全?

801659772022-11-10微信投票139
投票网站一般而言主要鉴别方式是IP地址,当然也有微信的(openid),微信的方式基本无法投票,只能通过多个微信号方式。本文以普通的投票网站展开,鉴别ip的方式主要有三种,见如下代码:对于匿名代理而言

投票网站一般而言主要鉴别方式是IP地址,当然也有微信的(openid),微信的方式基本无法投票,只能通过多个微信号方式。本文以普通的投票网站展开,鉴别ip的方式主要有三种,见如下代码:


刷票:微信刷票和小程序刷票如何实现安全?




对于匿名代理而言主要涉及三步,获取代理ip,验证代理ip,建立ip池,使用代理方式发起http请求。


1 获取代理ip的获取和验证


这里通过国内免费的匿名代理ip网站获取测试代理。但是经过测试代理的质量一般,基本上只有20%的左右的可用性。建议寻找收费的代理ip,而且提供可靠的api接入方式。


代理ip的获取方式很多,但都是大同小异,基本上是通过爬取代理网站的ip然后转存到数据库中,通过另外一个程序对数据中的代理ip进行验证,删除不能正常代理的,筛选出的ip作为后续使用。我使用的是github的python脚本,


2 建立代理ip池


这里的ip池是为后续程序自动请求提供代理,所以代理需要可靠,否则会导致程序投票的效率很低。这里需要将数据库中筛选的ip以一定格式写入文件中。

 


import pymysql

def handle_http():

 

        conn = pymysql.connect(host='localhost',

                               user='root',

                               passwd='12345678',

                               db='proxypool',

                               port=3306,

                               charset='utf8')

        cursor = conn.cursor()

        cursor.execute('select ip,ip_port from proxypool')

        ip_list = []

        fp = open("./ip.txt",'w')

        for row in cursor.fetchall():

            fp.writelines(row[0]+":"+row[1]+"\n")

        fp.close()

 

       # content = random.choice(ip_list)

 

        return ip_list

 

if __name__ == '__main__':

        handle_http()


3 使用代理发起http请求


#coding:utf-8

import urllib2,urllib,time,socket,random,Proxy_ip,Useragent

 

 

def Visitpage(proxyip,url):

    socket.setdefaulttimeout(6)

    proxy_support = urllib2.ProxyHandler({'http':proxyip})

    user_agent = random.choice(Useragent.user_agents)

    opener = urllib2.build_opener(proxy_support,urllib2.HTTPHandler)

    urllib2.install_opener(opener)

    try:

        request = urllib2.Request(url)

        print 1+request

        request.add_header('Referer','http://www.baidu.com')

        request.add_header('User-Agent',user_agent)

        html = urllib2.urlopen(request).read()

        print(html)

        time.sleep(random.randint(60,180))

    except urllib2.URLError,e:

        print 'URLError! The bad proxy is %s' %proxyip

    except urllib2.HTTPError,e:

        print 'HTTPError! The bad proxy is %s' %proxyip

    except:

        print 'Unknown Errors! The bad proxy is %s ' %proxyip

 

def Clicklikebutton(proxyip,url,data):

    socket.setdefaulttimeout(6)

    proxy_support = urllib2.ProxyHandler({'http':proxyip})

    user_agent = random.choice(Useragent.user_agents)

    opener = urllib2.build_opener(proxy_support,urllib2.HTTPHandler)

    try:

        request = urllib2.Request(url)

        request.add_header('Referer','http://www.baidu.com')

        request.add_header('User-Agent',user_agent)

        data = urllib.urlencode(data)

        resp = opener.open(request, data)

        print resp.read()

        time.sleep(random.randint(60,180))

    except urllib2.URLError,e:

        print 'URLError! The bad proxy is %s' %proxyip

    except urllib2.HTTPError,e:

        print 'HTTPError! The bad proxy is %s' %proxyip

    except:

        print 'Unknown Errors! The bad proxy is %s ' %proxyip

 

def main():

    for i in range(len(Proxy_ip.iplist)):

        proxyip = Proxy_ip.iplist[i]

        i += 1

        print proxyip

        for m in range(random.randint(2,4)):

         #Visitpage(proxyip,'http://xxx')         

           Clicklikebutton(proxyip,'http://152.136.57.219/vote_ip_final/submit2',{'temxx':1})

 

if __name__ == "__main__":

    main()


4 验证


经过验证,可以正常完成投票,建议将每次投票的间隔调整好,否则容易被认定非正常投票。


小程序投票的话,同微一样的情况。需要使用很多的微号来操作。



发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~