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 相关文章推荐
Google开源的Python格式化工具YAPF的安装和使用教程
May 31 Python
Python爬虫:通过关键字爬取百度图片
Feb 17 Python
apache部署python程序出现503错误的解决方法
Jul 24 Python
用tensorflow搭建CNN的方法
Mar 05 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
Pycharm 设置默认头的图文教程
Jan 17 Python
对pandas处理json数据的方法详解
Feb 08 Python
Python docx库用法示例分析
Feb 16 Python
python读出当前时间精度到秒的代码
Jul 05 Python
Python 用turtle实现用正方形画圆的例子
Nov 21 Python
python 使用cx-freeze打包程序的实现
Mar 14 Python
python如何运行js语句
Sep 09 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实现统计邮件大小的方法
2013/08/06 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
jquery获取子节点和父节点的示例代码
2013/09/10 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
jQuery使用cookie与json简单实现购物车功能
2016/04/15 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
2017/01/19 Javascript
AngularJS折叠菜单实现方法示例
2017/05/18 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
vue2组件之select2调用的示例代码
2017/10/12 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
react中的ajax封装实例详解
2017/10/17 Javascript
Angular实现的简单定时器功能示例
2017/12/28 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
如何构建 vue-ssr 项目的方法步骤
2020/08/04 Javascript
Python利用pyHook实现监听用户鼠标与键盘事件
2014/08/21 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
Django密码存储策略分析
2020/01/09 Python
Python try except异常捕获机制原理解析
2020/04/18 Python
CSS3控制HTML元素动画效果
2014/02/08 HTML / CSS
演讲比赛策划方案
2014/06/11 职场文书
超市客服工作职责
2014/06/11 职场文书
员工2014年度工作总结
2014/12/09 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
python pygame 开发五子棋双人对弈
2022/05/02 Python