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新手在作用域方面经常容易碰到的问题
Apr 03 Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 Python
安装Python和pygame及相应的环境变量配置(图文教程)
Jun 04 Python
解决python3 网络请求路径包含中文的问题
May 10 Python
Python实现的生产者、消费者问题完整实例
May 30 Python
Django的models模型的具体使用
Jul 15 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
Python3将数据保存为txt文件的方法
Sep 12 Python
Python tcp传输代码实例解析
Mar 18 Python
Python如何使用input函数获取输入
Aug 06 Python
python批量生成身份证号到Excel的两种方法实例
Jan 14 Python
基于Python实现流星雨效果的绘制
Mar 18 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.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
2013/06/17 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
2017/03/31 PHP
载入进度条 效果
2006/07/08 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
js获取json元素数量的方法
2015/01/27 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
javascript数组排序汇总
2015/07/07 Javascript
JavaScript正则表达式匹配 div  style标签
2016/03/15 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
vuex直接赋值的三种方法总结
2018/09/16 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
Python进阶篇之字典操作总结
2016/11/16 Python
python验证码识别实例代码
2018/02/03 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
pygame游戏之旅 python和pygame安装教程
2018/11/20 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
2014年小学元旦活动方案
2014/02/12 职场文书
公证委托书
2014/08/01 职场文书
学习党的群众路线实践活动思想汇报
2014/09/12 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
庆祝三八妇女节标语
2014/10/09 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
2015年企业团支部工作总结
2015/05/21 职场文书
vscode中使用npm安装babel的方法
2021/08/02 Javascript
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电