利用python多线程模块实现模拟接口并发

import requests
import json
import threading
import time
import uuid算法


class postrequests():
def __init__(self):
# UUID模块:
# 产生UUID,生成惟一标识,uuid1:基于时间戳(由 MAC 地址(主机物理地址)、当前时间戳、随机数生成。能够保证全球范围内的惟一性:但 MAC 的使用同时带来安全性问题,局域网中能够使用 IP 来代替MAC)
# uuid.uuid2() -- 基于分布式计算环境DCE(Python中没有这个函数)
# uuid.uuid3(namespace, name) -- 基于名字的MD5散列值:经过计算名字和命名空间的MD5散列值获得,保证了同一命名空间中不一样名字的惟一性,
# uuid.uuid4() -- 基于随机数:由伪随机数获得,有必定的重复几率,该几率能够计算出来
# uuid.uuid5() -- 基于名字的SHA-1散列值:算法与uuid3相同,不一样的是使用 Secure Hash Algorithm 1 算法
# 首先,Python中没有基于 DCE 的,因此uuid2能够忽略;
# 其次,uuid4存在几率性重复,由无映射性,最好不用;
# 再次,若在Global的分布式计算环境下,最好用uuid1;
# 最后,如有名字的惟一性要求,最好用uuid3或uuid5。
u = uuid.uuid1()
# 产生订单编号
orderID = 'TEST' + u.hex
api_host='192.168.10.59:8763'
self.url = 'http://'+api_host+'/ms-fahuobao-json-view-temporary/FhbOrder/findFhbOrderAll?t=1542937095327'
self.headers = {'content-type': 'application/json',
'token':'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyLW5hbWUiOiIxNTAyMzYyMTk5OSIsInVzZXItcGFyYW0iOiJ7XCJ1c2VyU3lzdGVtXCI6W1wiZmhiTWFudFwiLFwic3RvcmVXZWJcIl0sXCJ1c2VyUGhvbmVcIjpcIjE1MDIzNjIxOTk5XCIsXCJwcm9qZWN0VHlwZVwiOlwiZmhiTWFudFwifSIsInVzZXItaWQiOiIxODIzNDYxYy04YTQwLTQ4MDYtOTUwNC0xZGI3ZjMzN2EwZmYiLCJpc3MiOiIxODIzNDYxYy04YTQwLTQ4MDYtOTUwNC0xZGI3ZjMzN2EwZmYiLCJ1c2VyLWNvZGUiOiIxNTAyMzYyMTk5OSIsImV4cCI6MTU0Mjk1MTE0MywiaWF0IjoxNTQyOTM2NzQzfQ.W3hd12C_d3h06WNVtctT_OD6B8g1qGivjv9m7fT-iis'}
def post(self):
try:
r = requests.request('get',self.url, headers=self.headers)
response=r.json()
orderNo=response['data'][0]['orderNo']
print(orderNo)
except Exception as e:
print(e)json


def kquan_bf():
login = postrequests()
return login.post()api


try:
i = 0
# 开启线程数目
tasks_number = 10
print('测试启动')
time1 = time.clock()
while i < tasks_number:
t = threading.Thread(target=kquan_bf)
t.start()
i += 1
time2 = time.clock()
times = time2 - time1
print(times / tasks_number)
except Exception as e:
print(e)安全

相关文章
相关标签/搜索