python多线程异步post请求脚本,可以设置持续运行时间、线程数、时间间隔

网友投稿 573 2022-08-29


python多线程异步post请求脚本,可以设置持续运行时间、线程数、时间间隔

#coding=utf8'''random.randint(a, b):用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= brandom.choice(sequence):从序列中获取一个随机元素参数sequence表示一个有序类型(列表,元组,字符串)'''import timeimport threadingfrom random import randint,choice #创建请求函数def postRequest(threadNum): postJson={ } #定义需要进行发送的数据 postData=json.dumps(postJson) #定义一些文件头 headerdata = { "content-type":"application/json", } #接口 requrl ="/v1/query" #请求服务,例如:baidu.com hostServer="" #连接服务器 conn = #发送请求 conn.request(method="POST",url=requrl,body=postData,headers=headerdata) #获取请求响应 response=conn.getresponse() #打印请求状态 if response.status in range(200,300): print u"线程"+str(threadNum)+u"状态码:"+str(response.status) conn.close() def run(threadNum,internTime,duration): #创建数组存放线程 threads=[] try: #创建线程 for i in range(1,threadNum): #针对函数创建线程 t=threading.Thread(target=postRequest,args=(i,)) #把创建的线程加入线程组 threads.append(t) except Exception,e: print e try: #启动线程 for thread in threads: thread.setDaemon(True) thread.start() time.sleep(internTime) #等待所有线程结束 for thread in threads: thread.join(duration) except Exception,e: print eif __name__ == '__main__': startime=time.strftime("%Y%m%d%H%M%S") now=time.strftime("%Y%m%d%H%M%S") duratiion=raw_input(u"输入持续运行时间:") while (startime+str(duratiion))!=now: run(10,1,int(duration)) now=time.strftime("%Y%m%d%H%M%S")

运行结果截图:


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java设计模式七大原则之合成复用原则详解
下一篇:把CSV数据合成json样书存入字典、列表并打印的python脚本(python json写入数据库)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~