python多线程异步post请求脚本,可以设置持续运行时间、线程数、时间间隔
2017-06-14 10:42
666 查看
#coding=utf8 ''' random.randint(a, b):用于生成一个指定范围内的整数。 其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b random.choice(sequence):从序列中获取一个随机元素 参数sequence表示一个有序类型(列表,元组,字符串) ''' import httplib,json import time import threading from random import randint,choice #创建请求函数 def postRequest(threadNum): postJson={ } #定义需要进行发送的数据 postData=json.dumps(postJson) #定义一些文件头 headerdata = { "content-type":"application/json", } #接口 requrl ="/v1/query" #请求服务,例如:www.baidu.com hostServer="" #连接服务器 conn = httplib.HTTPConnection(hostServer) #发送请求 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 e if __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")
运行结果截图:
相关文章推荐
- python多线程异步post请求脚本,可以设置持续运行时间、线程数、时间间隔
- Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
- 可以运行测试的IOS同步请求、异步请求、GET请求、POST请求
- shell 外部传入jmeter脚本线程数,rampUp时间,持续运行时间
- 可以运行测试的IOS同步请求、异步请求、GET请求、POST请求
- Python3 http服务器脚本,支持range请求头部(因此可以用它来在线看mp4视频)
- at 命令来安排命令、脚本或程序在指定的日期和时间运行。您也可以使用此命令查看现有的计划任务。
- Python中字符串连接、删除数组中指定元素、记录脚本运行时间
- python多线程get与post请求模板代码
- python脚本设置超时机制系统时间的方法
- session失效时间设置、过期处理、ajax同步异步请求处理
- IE弹出"是否停止运行此脚本"脚本超时时间设置
- 可以设置命令执行的超时时间的脚本
- python脚本设置运行参数
- 一个很好的python代理脚本(给sqlmapapi发送请求的玩意),函数可以参考拿着用呗
- python脚本设置系统时间的两种方法
- 设置linux开机自动运行Python脚本
- Active Server Pages, ASP 0113 (0x80004005)超过了脚本运行的最长时间。可以为 Server.ScriptTimeOut 属性指定新值或更改 IIS 管理工具中的相应值来更改此限制
- 可以设置命令执行的超时时间的脚本
- notepad++ 设置运行python脚本