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


Posted in Python onJanuary 11, 2018

本文实例讲述了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实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能

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

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

Python 相关文章推荐
使用python 获取进程pid号的方法
Mar 10 Python
收集的几个Python小技巧分享
Nov 22 Python
python opencv 直方图反向投影的方法
Feb 24 Python
Python 通配符删除文件的实例
Apr 24 Python
python3实现爬取淘宝美食代码分享
Sep 23 Python
python基于C/S模式实现聊天室功能
Jan 09 Python
Python考拉兹猜想输出序列代码实践
Jul 05 Python
分享一个pycharm专业版安装的永久使用方法
Sep 24 Python
解决springboot yml配置 logging.level 报错问题
Feb 21 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
Mar 19 Python
利用Python实现朋友圈中的九宫格图片效果
Sep 03 Python
python中Array和DataFrame相互转换的实例讲解
Feb 03 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
Jan 11 #Python
python实现员工管理系统
Jan 11 #Python
Python使用base64模块进行二进制数据编码详解
Jan 11 #Python
Python实现备份MySQL数据库的方法示例
Jan 11 #Python
教你用Python写安卓游戏外挂
Jan 11 #Python
python实现学生管理系统
Jan 11 #Python
linecache模块加载和缓存文件内容详解
Jan 11 #Python
You might like
用PHP制作静态网站的模板框架(四)
2006/10/09 PHP
.htaccess文件保护实例讲解
2011/02/06 PHP
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
JavaScript中诡异的delete操作符
2015/03/12 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
2015/12/10 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
2016/05/05 Javascript
jQuery实现div横向拖拽排序的简单实例
2016/07/13 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
2016/10/26 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
vue 出现data-v-xxx的原因及解决
2020/08/04 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
Python2 与Python3的版本区别实例分析
2020/03/30 Python
python使用smtplib模块发送邮件
2020/12/17 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
css3编写浏览器背景渐变背景色的方法
2018/03/05 HTML / CSS
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
《一个小村庄的故事》教学反思
2014/04/13 职场文书
新学期开学演讲稿
2014/05/24 职场文书
校庆活动策划方案
2014/06/05 职场文书
安全生产标语
2014/06/06 职场文书
2014年留守儿童工作总结
2014/12/10 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
关于flex 上下文中自动 margin的问题(完整例子)
2021/05/20 HTML / CSS
Java完整实现记事本代码
2022/06/16 Java/Android