两行代码简单实现Python多线程(Vthread库) by L0st

0X00 前言

在学习上传漏洞中的竞争条件上传时,需要我们在shell.php被删除之前访问它
有两种方法可以实现:

  1. 浏览器手动访问
  2. Python脚本

在摁坏了F5键以后,我选择了Python。
由于学习python没多久,threading什么的有点太高深,网上看了很多教程还是
云里雾里的,偶然间看到了 Vthread 函数库,非常简洁,故分享给大家。

0x01 安装vthread函数库

系统命令行下执行:
pip install vthread

0x02 一句话实现简单多线程

import vthread,requests

@vthread.thread(5)     #开5个线程执行同一个函数
def compete(url):
    r = requests.get(url)
    if r.status_code == 200 :
        print("[*]Success")
    else:
        print("[*]Fail. Retrying...")

compete("http://www.baidu.com/")

相同效果:

import vthread,requests

@vthread.thread
def compete(url):
    r = requests.get(url)
    if r.status_code == 200 :
        print("[*]Success")
    else:
        print("[*]Fail. Retrying...")

for i in range(5):  #线程数
    compete("http://www.baidu.com/")

0x03 线程池包装

import vthread,requests

@vthread.pool(10) #包装10条线程池
def compete(url):
    r = requests.get(url)
    if r.status_code == 200 :
        print("[*]Success")
    else:
        print("[*]Fail. Retrying...")

for i in range(20):  #20线程
    compete("http://www.baidu.com/")

参考自:https://python.ctolib.com/cilame-vthread.html

你可能感兴趣的:(两行代码简单实现Python多线程(Vthread库) by L0st)