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爬虫之神器正则表达式
Nov 06 Python
极简的Python入门指引
Apr 01 Python
python和bash统计CPU利用率的方法
Jul 10 Python
python实现简单socket通信的方法
Apr 19 Python
Python采用Django开发自己的博客系统
Sep 29 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 Python
Python3之手动创建迭代器的实例代码
May 22 Python
Python 多个图同时在不同窗口显示的实现方法
Jul 07 Python
Python实现搜索算法的实例代码
Jan 02 Python
pytorch1.0中torch.nn.Conv2d用法详解
Jan 10 Python
python中urllib.request和requests的使用及区别详解
May 05 Python
jupyter 添加不同内核的操作
Feb 06 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
基于mysql的bbs设计(五)
2006/10/09 PHP
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
PHP中的命名空间详细介绍
2015/07/02 PHP
浅谈PHP命令执行php文件需要注意的问题
2016/12/16 PHP
Laravel中任务调度console使用方法小结
2017/05/07 PHP
表单内同名元素的控制
2006/11/22 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
利用js实现选项卡的特别效果的实例
2013/03/03 Javascript
jQuery中获取checkbox选中项等操作及注意事项
2013/11/24 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
2015/11/24 Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
2015/12/01 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
2017/08/06 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
Vue中render函数的使用方法
2018/01/31 Javascript
微信小程序保存多张图片的实现方法
2019/03/05 Javascript
微信小程序文章详情页跳转案例详解
2019/07/09 Javascript
JavaScript 链表定义与使用方法示例
2020/04/28 Javascript
[01:00:11]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第一场 2月7日
2021/03/11 DOTA
低版本中Python除法运算小技巧
2015/04/05 Python
python如何在终端里面显示一张图片
2016/08/17 Python
Python下实现的RSA加密/解密及签名/验证功能示例
2017/07/17 Python
python ---lambda匿名函数介绍
2019/03/13 Python
Tensorflow 多线程设置方式
2020/02/06 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
canvas线条的属性详解
2018/03/27 HTML / CSS
公司司机岗位职责
2014/02/07 职场文书
《守株待兔》教学反思
2014/03/01 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
Go 语言下基于Redis分布式锁的实现方式
2021/06/28 Golang
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫