• 利用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)


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


    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)

    脑子不够用当然只能脚踏实地的做事情!
  • 相关阅读:
    【Unittest】unittest相关解说
    python中导入模块/包的几种方式
    工具网站
    mapstruct 入门指南
    springboot 全局异常处理器
    多线程读表-压缩成zip下载
    编译执行和解释执行的区别
    swagger常用注解说明
    springboot整合swagger
    springboot整合druid
  • 原文地址:https://www.cnblogs.com/qtclm/p/10005857.html
Copyright © 2020-2023  润新知