python异步请求次数_Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能...

本文实例讲述了Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能。分享给大家供大家参考,具体如下:

#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(duratiion))

now=time.strftime("%Y%m%d%H%M%S")

运行结果:

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

时间: 2018-01-09

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值