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基于Pymssql模块实现连接SQL Server数据库的方法详解
Jul 20 Python
Python实现的质因式分解算法示例
May 03 Python
Python下调用Linux的Shell命令的方法
Jun 12 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
详解Python下ftp上传文件linux服务器
Jun 21 Python
python 循环读取txt文档 并转换成csv的方法
Oct 26 Python
简单了解python PEP的一些知识
Jul 13 Python
python 遍历pd.Series的index和value
Nov 26 Python
python使用python-pptx删除ppt某页实例
Feb 14 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
Mar 30 Python
Autopep8的使用(python自动编排工具)
Mar 02 Python
python3 实现mysql数据库连接池的示例代码
Apr 17 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
将兴奋、喜悦和坎加斯带到戴安娜:亚马逊公主
2020/03/03 欧美动漫
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
js取滚动条的尺寸的函数代码
2011/11/30 Javascript
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
2012/06/14 Javascript
THREE.JS入门教程(5)你应当知道的十件事
2013/01/24 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
基于JavaScript 下namespace 功能的简单分析
2013/07/05 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
2015/05/06 Javascript
Jquery on方法绑定事件后执行多次的解决方法
2016/06/02 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
2017/01/17 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能详解
2020/04/29 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
python消除序列的重复值并保持顺序不变的实例
2018/11/08 Python
Python饼状图的绘制实例
2019/01/15 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
python实现登录与注册系统
2020/11/30 Python
美丽的现代设计家具:2Modern
2018/07/26 全球购物
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
小学英语教学反思
2014/01/30 职场文书
社会学专业学生职业规划书
2014/02/07 职场文书
工作表现自我评价
2014/02/08 职场文书
马智宇婚礼主持词
2014/03/22 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
2016年寒假社会实践活动总结
2015/03/27 职场文书
2019财务毕业实习报告
2019/06/27 职场文书
几款流行的HTML5 UI框架比较(小结)
2021/04/08 HTML / CSS
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android
python可视化大屏库big_screen示例详解
2021/11/23 Python
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript