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连接mysql数据库示例(做增删改操作)
Dec 31 Python
python 把数据 json格式输出的实例代码
Oct 31 Python
python初学之用户登录的实现过程(实例讲解)
Dec 23 Python
解决Pycharm中import时无法识别自己写的程序方法
May 18 Python
Python实现基于C/S架构的聊天室功能详解
Jul 07 Python
python生成n个元素的全组合方法
Nov 13 Python
在python shell中运行python文件的实现
Dec 21 Python
使用Python发现隐藏的wifi
Mar 04 Python
解决django FileFIELD的编码问题
Mar 30 Python
Python图像处理二值化方法实例汇总
Jul 24 Python
实现Python3数组旋转的3种算法实例
Sep 16 Python
python 详解turtle画爱心代码
Feb 15 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 二维关联数组根据其中一个字段排序(推荐)
2017/04/04 PHP
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
利用js实现选项卡的特别效果的实例
2013/03/03 Javascript
js加载读取内容及显示与隐藏div示例
2014/02/13 Javascript
JQuery中使用on方法绑定hover事件实例
2014/12/09 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
2016/01/05 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
2019/05/20 Javascript
JS如何把字符串转换成json
2020/02/21 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
小程序实现tab标签页
2020/11/16 Javascript
windows下python安装小白入门教程
2018/09/18 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
python程序需要编译吗
2020/06/19 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
C/C++程序员常见面试题一
2012/12/08 面试题
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
旅游管理实习自我鉴定
2013/09/29 职场文书
建筑公司文秘岗位职责
2013/11/29 职场文书
优秀班主任经验交流材料
2014/06/02 职场文书
董事长助理工作职责
2014/06/08 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
2014年工作总结及2015工作计划
2014/12/12 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
python 定义函数 返回值只取其中一个的实现
2021/05/21 Python
Python 视频画质增强
2022/04/28 Python