python多线程请求接口_python多线程实现http请求
#!/usr/bin python2.6
# -*- coding: utf-8 -*-
import threading, datetime, time, httplib
# 初始最大并发数
START_THEAD_COUNT = 200
# 递增并发数
THREAD_INCREASE_STEP = 10
# 域名
DOMAIN = 'www.baidu.com'
# 默认http请求
METHOD = 'get'
# 默认访问的web路径
PATH = '/'
# 请求发送间隔 整数
INTERVAL = 5 # 5秒
'''Factory'''
class biz :
'''Main'''
def run(self) :
start = datetime.datetime.now()
global FAILED_COUNT
FAILED_COUNT = 0
threads = []
# thread instance initialization
for i in range(START_THEAD_COUNT) :
t=threading.Thread(target=self.execute, args=())
threads.append(t)
# activate threads
for i in range(START_THEAD_COUNT) :
threads[i].start()
# wait for all ends
for i in range(START_THEAD_COUNT) :
threads[i].join()
delta = datetime.datetime.now() - start
writeline('INFO', 'Total is \'' + str(START_THEAD_COUNT) + '\' while failed \'' + str(FAILED_COUNT) + '\' in ' + str(delta.seconds) + str(delta.microseconds / 1000) + 'ms.')
return (True, None)
'''Execute http request and get response status'''
def execute(self) :
global FAILED_COUNT
conn = httplib.HTTPConnection(DOMAIN)
conn.request(METHOD, PATH)
r = conn.getresponse()
if r.status not in (200, 302) : FAILED_COUNT = FAILED_COUNT + 1
conn.close()
return (True, None)
'''Log writer'''
def writeline(status, msg) :
line = time.strftime('%Y-%m-%d %X', time.localtime(time.time())) + ' [' + status + '] ' + msg
print line
return (True, line)
if __name__ == '__main__' :
o = biz()
while True :
r, c = o.run()
if not r : writeline('FAILED-', c)
time.sleep(INTERVAL)
# update max threads
START_THEAD_COUNT = START_THEAD_COUNT + THREAD_INCREASE_STEP
python多线程请求接口_python多线程实现http请求相关推荐
- python web框架 多线程和多进程_python 多线程和多进程
多线程与多进程 知识预览 一 进程与线程的概念 二 threading模块 三 multiprocessing模块 四 协程 五 IO模型 回到顶部 一 进程与线程的概念 1.1 进程 考虑一个场景: ...
- python实用程序育儿法_Python多线程 简明例子
Python多线程 简明例子 (2010-03-11 15:15:09) Python多线程 简明例子 综述 多线程是程序设计中的一个重要方面,尤其是在服务器Deamon程序方面.无论何种系统,线程调 ...
- python真正实现多线程的方法_python多线程几种方法实现
匿名用户 1级 2018-05-27 回答 Python进阶(二十六)-多线程实现同步的四种方式 临界资源即那些一次只能被一个线程访问的资源,典型例子就是打印机,它一次只能被一个程序用来执行打印功能, ...
- python多线程的作用_Python多线程中三个函数的强大功能简介
在Python多线程中有三个比较简单的函数,在实际的相关操作中你对这一实际操作是否了解?是否对其感兴趣?如果你想对Python多线程的开发与多线程程序及相关实际操作方案有所了解的话,你就可以点击以下的 ...
- python多核多线程编程实例_Python多线程
多线程基础概念 并行与并发并行:同时处理多个任务,必须在多核环境下 一段时间内同时处理多个任务,单核也可以并发 并发手段线程:内核空间的调度 进程:内核空间的调度 协程:用户空间的调度 线程可以允许程 ...
- python多线程共享全局变量_Python多线程-共享全局变量
多线程-共享全局变量 import threading import time g_num = 200 def test1(): global g_num for i in range(5): g_n ...
- python通达信接口_python通达信接口-通达信 量化交易。
Python 里没有接口,如何写设计模式? 我曾经实现过web测试的自动化库,主要说一下模拟浏览器部分:对于ie,mshtml组件. 好自动化而且收益可观+ Python是一种动态类型语言,拥有duc ...
- python调用文件下载接口_python接口自动化21-下载excel文件(Content-Type:octets/stream)...
前言 Content-Type类型为octets/stream,这种一般是文件类型了,比如有时候需要导出excel数据,下载excel这种场景如何用python来实现呢? 抓下载接口 1.下载的场景如 ...
- python怎么写接口_python接口怎么写
1. 用python怎么写一个接口自动化框架 #!/usr/bin/env python import sys str = True while (str): dig = int(input()) i ...
最新文章
- ios 构建版本一直在处理中_iOS关于审核提交构建版本不显示问题集锦
- 了解一下:机器学习性能优化的6个指标
- linux怎么增加cpu负载,Linux下的CPU平均负载
- 【Netty】NIO 通道 ( Channel ) 组件
- macos自带java_在 MacOS 上安装 Java - Java 入门教程
- 带你学python基础:字符串
- 【CyberSecurityLearning 55】SQL注入
- 40. Combination Sum II **
- 一文入门网络编程:常见协议、通信过程、Socket、CS/BS、TCP/UDP
- cpout引脚是干什么的_FPGA中差分信号的定义和使用(一)
- mysql 子查询 根据查询结果更新表
- mysql privileges
- Android Device Chooser中显示Target unknown解决方法
- kali安装zmap
- 模拟游戏--艾伦·图灵的传奇人生
- c语言课程设计找出肇事车牌,C语言课程设计参考题目.doc
- 转载:ITRS/GCRS/J2000坐标系的相互转换
- 小米路由器和TP-Link做wifi无线桥接
- 中国科学院大学2019年高等代数考研试题
- C程序设计语言思维导图
热门文章
- 小程序之修改单条数据
- 不能打开要写入的文件,软件安装不上解决方法
- 开发人工智能使用哪种编程语言好
- VS2013出现未能正确加载 microsoft.visualstudio.editor.implementation.editorpackage的解决方法
- 菌群数据预处理-microbiome包
- bzoj 3007 拯救小云公主
- 在java里如何跨网页传参_【页面传值6种方式】- 【JSP 页面传值方法总结:4种】 - 【跨页面传值的几种简单方式3种】...
- XPE启动蓝屏或FBA反复重启的问题
- 电脑超时空保卫者——光华反病毒软件(转)
- 为你,千千万万遍——《追风筝的人》