玩家必看科普!麻豆人人妻人人妻人人片AV,欧美老妇交乱视频在线观看,久久综合九色综合久99_知乎
<ruby id="fgcka"></ruby>
  • <progress id="fgcka"></progress>
    <tbody id="fgcka"></tbody>
    <dd id="fgcka"></dd>

    1. <dd id="fgcka"></dd>

      <em id="fgcka"></em>
        1. 系統城裝機大師 - 固鎮縣祥瑞電腦科技銷售部宣傳站!

          當前位置:首頁 > 腳本中心 > python > 詳細頁面

          python多線程請求帶參數的多個接口問題

          時間:2023-03-15來源:系統城裝機大師作者:佚名

          多線程請求帶參數的多個接口

          對于進程/線程/攜程/異步的內容 有時間準備寫寫了 真的一直用for去循環慢到懷疑人生 需要運用的場景也會很多 所以分開一點點總結一下

          先上代碼看一下內容,多線程請求接口

          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          21
          22
          23
          24
          25
          26
          27
          28
          29
          30
          31
          32
          33
          34
          35
          36
          37
          imoprt threading # 首先運用到threading模塊
           
           
          class BrushGifts:
              # 以下是兩個相同的接口 send_gift_room_one()是送禮的接口
              # 也就是說我想完成的狀態是A送B B送A 兩個用戶同時想對方贈送禮物
              def giftt(self, uid, recvUid, giftId):
                  """
                  送禮接口
                  :param uid: 送禮用戶
                  :param recvUid: 收禮用戶
                  :param giftId: 禮物道具id
                  :return: 
                  """
                  VoiceRoom().send_gift_room_one(uid, recvUid, giftId)
           
              def giftt_a(self, uid, recvUid, giftId):
                  # 與上面的接口相同 不多做敘述
                  # 沒什么區別 就是寫著好理解倆接口的概念
                  VoiceRoom().send_gift_room_one(recvUid, uid, giftId)
           
           
          if __name__ == '__main__':
              # 因為我的賬號是儲存在yaml文件內 所以需要先倒出需要用戶的uid列表
              # 送禮人與收禮人分別倒出
              uid_list = YamlHandler(YamlThePath().voice_room_cpNew).get_uid_list(10)
              rUid_list = YamlHandler(YamlThePath().number_old).get_scope_uid(1500, 10)
              # 這里暫時先展示最簡單的AB同時互送~
              for (i, j) in zip(uid_list, rUid_list):
                  # target內需要傳入方法名 不要帶()因為帶括號就等于去調用了該方法 會直接開始執行
                  # args內傳入輸入帶入的參數 可以按順序來 也可以整理成元組或字典接收
                  t1 = threading.Thread(target=BrushGifts().giftt, args=(i, j, 51620))
                  # 兩個threading.Thread就是我請求并發兩個接口
                  t2 = threading.Thread(target=BrushGifts().giftt, args=(j, i, 51620))
                  # t1.start()為執行
                  t1.start()
                  t2.start()

          主線程:

          主線程的概念就是這個py文件內從頭到位的執行 當我執行完最后一行代碼t2.start()后 主線程會進入等待狀態,等待子線程結束后主線程才會結束

          子線程:

          子線程的概念就是在主線程執行的過程中我執行到了這里 當然這里是通過t1.start()方法來進行調用的

          1 t1 = threading.Thread(target=BrushGifts().giftt, args=(i, j, 51620))

          這時候系統會再開辟出一條子線程進行BrushGifts().giftt方法的執行與調用

          主線程在進行的時候會執行t1.start()與t2.start()但是他不會等待他們執行結束,主線程會繼續往下,所以t1.start()與t2.start()是同時請求,當t1.start()與t2.start()兩個子進程都結束時,主線程才會結束~

          因為主線程執行t1.start()與t2.start()是一行一行的執行 而且python無法做到準確意義上的并發 所以如果對數據速度要求很高的時候 此方法不適用

          如何用python請求接口

          作用:用來重復插入數據

          1、首先下載好python 然后 cmd 輸入 python 判斷是否全局安裝成功

          2、下載好PcIdea 

          3、下載好自己需要的庫

          4、查看請求網絡

          •  按好F12
          •  對接口進行請求
          •  先將需要的header請求頭標數據進行驗證

          • 查看正文請求

          5、給你一個模板自己慢慢體會 

          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          21
          22
          23
          24
          25
          26
          27
          28
          29
          30
          31
          32
          33
          34
          35
          36
          37
          38
          39
          40
          41
          42
          43
          44
          45
          46
          47
          48
          49
          50
          51
          52
          53
          54
          55
          56
          57
          58
          59
          60
          61
          62
          63
          64
          65
          66
          67
          68
          69
          70
          71
          72
          73
          74
          75
          76
          77
          78
          79
          80
          81
          82
          83
          84
          85
          86
          87
          88
          89
          90
          91
          import requests                         #導入requests包
          import random
          import json
          import time
            
          # response = requests.get('http://www.baidu.com')
          # print(response.status_code)  # 打印狀態碼
          # print(response.url)          # 打印請求url
          # print(response.headers)      # 打印頭信息
          # print(response.cookies)      # 打印cookie信息
          # print(response.text)  #以文本形式打印網頁源碼
          # print(response.content) #以字節流形式打印
          # print(response.json())
            
            
          AddCarURL = "http://localhost:10086/jeecg-boot/cable/insurance/add"
          AddCarCookies = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MjkwOTUyNzcsInVzZXJuYW1lIjoiYWRtaW4ifQ.Kn1jB5gUkCdnszSVxnjVVKtRMbx_WJSVZW6G-yJaid8"
          randomStr = "ABCDEFGHIJKLMNOPQRST"
          randomInsurance = ["泰康人壽","陽光保險","新華保險","太平人壽","同方全球人壽","友邦保險"," 招商仁和","平安保險"]
          randomBox = ["石鮮倉儲","明順倉儲","雄星倉儲","金盛倉儲","旺恒倉儲","中豹倉儲","飛翔倉儲","速發倉儲","春天倉儲"]
          sess = requests.session()
          headers = {
              "X-Access-Token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MjkxMDUyMjUsInVzZXJuYW1lIjoiYWRtaW4ifQ.EUAjJYACel8QHFw4AFERIaDjXZJTwOOyp8uncqx3Jps",
              "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19041",
              "Referer":"http://localhost:3000/cable/VehicleList",
              "Origin":"http://localhost:3000",
              "Host":"localhost:10086",
              "Content-Type":"application/json; charset=utf-8"
          }
            
          a1=(2017,1,1,0,0,0,0,0,0)              #設置開始日期時間元組(1976-01-01 00:00:00)
          a2=(2019,3,16,23,59,59,0,0,0)    #設置結束日期時間元組(1990-12-31 23:59:59)
            
          a3=(2019,3,16,0,0,0,0,0,0)              #設置開始日期時間元組(1976-01-01 00:00:00)
          a4=(2021,8,16,23,59,59,0,0,0)    #設置結束日期時間元組(1990-12-31 23:59:59)
            
          start=time.mktime(a1)    #生成開始時間戳
          end=time.mktime(a2)      #生成結束時間戳
            
          start1=time.mktime(a3)    #生成開始時間戳
          end2=time.mktime(a4)      #生成結束時間戳
            
          # for i in range(10):
          #     t=random.randint(start,end)    #在開始和結束時間戳中隨機取出一個
          #     date_touple=time.localtime(t)          #將時間戳生成時間元組
          #     date=time.strftime("%Y-%m-%d",date_touple)  #將時間元組轉成格式化字符串(1976-05-21)
          #
          #     t1 = random.randint(start1,end2)
          #     date_touplen=time.localtime(t1)          #將時間戳生成時間元組
          #     dateOne=time.strftime("%Y-%m-%d",date_touplen)  #將時間元組轉成格式化字符串(1976-05-21)
          #     print(date + " " +dateOne)
            
            
            
            
            
          def addCar(num:int):
              # {"type": "2", "carryingCapacity": "3噸", "license": "粵A888", "engineNumber": "123456", "state": 0}
            
              # {"vehicleId": "2", "insuraName": "人壽保險", "insurancePolicy": "UY1254SD5492W", "insuranceDateBegin": "2021-08-16",
              #  "insuranceDateEnd": "2021-08-31", "strongPolicy": "UY1254SD5492E", "strongDateBegin": "2021-07-01",
              #  "strongDateEnd": "2021-08-28", "license": "2"}
              for i in range(num):
            
            
                  t = random.randint(start, end)  # 在開始和結束時間戳中隨機取出一個
                  date_touple = time.localtime(t)  # 將時間戳生成時間元組
                  date = time.strftime("%Y-%m-%d", date_touple)  # 將時間元組轉成格式化字符串(1976-05-21)
            
                  t1 = random.randint(start1, end2)
                  date_touplen = time.localtime(t1)  # 將時間戳生成時間元組
                  dateOne = time.strftime("%Y-%m-%d", date_touplen)  # 將時間元組轉成格式化字符串(1976-05-21)
            
                  datas = {}
                  datas["vehicleId"] = "2"
                  datas["insuraName"] = random.choice(randomInsurance)
                  datas["insurancePolicy"] = random.choice(randomStr) + str(random.randint(10000, 99999)) + random.choice(randomStr) + str(random.randint(10000, 99999));
                  datas["insuranceDateBegin"] = date
                  datas["insuranceDateEnd"] = dateOne
                  datas["strongPolicy"] = random.choice(randomStr) + str(random.randint(10000, 99999)) + random.choice(randomStr) + str(random.randint(10000, 99999));
                  datas["strongDateBegin"] = date
                  datas["strongDateEnd"] = dateOne
                  datas["license"] = i
            
                  print(datas)
                  res=requests.post(url=AddCarURL, data=json.dumps(datas), headers=headers)
                  print(res.text)
            
            
          addCar(100)

          記得要通過 token 驗證,還有根據數據轉json 即可

          分享到:

          相關信息

          • Python清屏的方法 python如何清屏?

            python如何清屏?你們知道Python怎么清屏嗎,接下來的內容中介紹的是使用這款軟件清除屏幕的方法,歡迎需要的朋友閱讀本文參考下。...

            2023-03-11

          • pycharm創建Python關聯文件的方法 pycharm如何創建Python關聯文件?

            pycharm如何創建Python關聯文件?PyCharm用于一般IDE具備的功能,比如, 調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制等,本文中介紹的是使用這款軟件創建python關聯文件的方法,歡迎需要...

            2023-03-11

          系統教程欄目

          欄目熱門教程

          人氣教程排行

          站長推薦

          熱門系統下載

          玩家必看科普!麻豆人人妻人人妻人人片AV,欧美老妇交乱视频在线观看,久久综合九色综合久99_知乎 人人玩人人添人人澡超碰偷拍 青春娱乐视频精品分类官网2 最好最新高清中文字幕 91国自产拍最新2018 欧美精品一区二区三区不卡网 深夜你懂得我的意思2021 宿舍NP乖把腿张开H 网恋奔现一天被要几次 为什么我越叫他越快 学渣各种各样的PLAY 英语课代表下面好软小说 亚洲国产综合在线区尤物 FREE性丰满HD性欧美 我年轻漂亮的继坶BD 最近中文字幕完整免费视频 啦啦啦免费视频卡一卡二 青柠视频在线观看大全 在线天堂WWW在线资源 亚洲国产日本韩国欧美MV 天天学习|久久久久久久精品国产亚洲87 国产K频道分享系统进入口 三个嘴都吃满了还塞满了 JAPONENSIS老师学生JAVAHBB 亚洲精品1卡2卡3卡4卡 樱花草在线社区WWW韩国 好涨水快流出来了快吃动视频 久久AV无码精品人妻出轨