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中星号变量的几种特殊用法
Sep 07 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
Nov 14 Python
python入门教程 python入门神图一张
Mar 05 Python
浅析PyTorch中nn.Module的使用
Aug 18 Python
详解Django-channels 实现WebSocket实例
Aug 22 Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 Python
使用pycharm和pylint检查python代码规范操作
Jun 09 Python
Python的控制结构之For、While、If循环问题
Jun 30 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 Python
用python对oracle进行简单性能测试
Dec 05 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
Python字符串格式化方式
Apr 07 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
将RTF格式的文件转成HTML并在网页中显示的代码
2006/10/09 PHP
实用函数10
2007/11/08 PHP
UCenter Home二次开发指南
2009/05/28 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
2017/08/10 PHP
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
jQuery实现给页面换肤的方法
2015/05/30 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
javascript表单事件处理方法详解
2016/05/15 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
vue+element项目中过滤输入框特殊字符小结
2019/08/07 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
2020/08/18 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
2021/01/19 Vue.js
[01:50]《我与DAC》之玩家:iG夺冠时的那面红旗
2018/03/29 DOTA
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
团支书的期末学习总结自我评价
2013/11/01 职场文书
应届生如何写自荐信
2014/01/05 职场文书
2014年元旦活动方案
2014/02/15 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
护士长2014年终工作总结
2014/11/11 职场文书
公司2015年终工作总结
2015/05/26 职场文书
校运会加油稿大全
2015/07/22 职场文书
2019年最新感恩节祝福语(28句)
2019/11/27 职场文书
golang通过递归遍历生成树状结构的操作
2021/04/28 Golang
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js
微信小程序调用python模型
2022/04/21 Python