利用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)安全

相關文章
相關標籤/搜索