zoukankan      html  css  js  c++  java
  • 利用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)

    脑子不够用当然只能脚踏实地的做事情!
  • 相关阅读:
    网站学习网站
    ajax利用json进行服务器与客户端的通信
    Json 数据
    Servlet 编程 请求的转发
    Servlet 编程 简单流程处理(重定向)
    Servlet 编程 http请求类型
    myeclipse10 .jsp将表单提交给.java(form网页与后台通信初识)
    myeclipse10 将一个java工程合并到web工程
    myeclipse 第一个web project
    JAVA字符串转日期或日期转字
  • 原文地址:https://www.cnblogs.com/qtclm/p/10005857.html
Copyright © 2011-2022 走看看