Python實現(xiàn)可設置持續(xù)運行時間、線程數(shù)及時間間隔的多線程異步post請求功能
本文實例講述了Python實現(xiàn)可設置持續(xù)運行時間、線程數(shù)及時間間隔的多線程異步post請求功能。分享給大家供大家參考,具體如下:
#coding=utf8
'''
random.randint(a, b):用于生成一個指定范圍內(nèi)的整數(shù)。
其中參數(shù)a是下限,參數(shù)b是上限,生成的隨機數(shù)n: a <= n <= b
random.choice(sequence):從序列中獲取一個隨機元素
參數(shù)sequence表示一個有序類型(列表,元組,字符串)
'''
import httplib,json
import time
import threading
from random import randint,choice
#創(chuàng)建請求函數(shù)
def postRequest(threadNum):
postJson={
}
#定義需要進行發(fā)送的數(shù)據(jù)
postData=json.dumps(postJson)
#定義一些文件頭
headerdata = {
"content-type":"application/json",
}
#接口
requrl ="/v1/query"
#請求服務,例如:www.baidu.com
hostServer=""
#連接服務器
conn = httplib.HTTPConnection(hostServer)
#發(fā)送請求
conn.request(method="POST",url=requrl,body=postData,headers=headerdata)
#獲取請求響應
response=conn.getresponse()
#打印請求狀態(tài)
if response.status in range(200,300):
print u"線程"+str(threadNum)+u"狀態(tài)碼:"+str(response.status)
conn.close()
def run(threadNum,internTime,duration):
#創(chuàng)建數(shù)組存放線程
threads=[]
try:
#創(chuàng)建線程
for i in range(1,threadNum):
#針對函數(shù)創(chuàng)建線程
t=threading.Thread(target=postRequest,args=(i,))
#把創(chuàng)建的線程加入線程組
threads.append(t)
except Exception,e:
print e
try:
#啟動線程
for thread in threads:
thread.setDaemon(True)
thread.start()
time.sleep(internTime)
#等待所有線程結(jié)束
for thread in threads:
thread.join(duration)
except Exception,e:
print e
if __name__ == '__main__':
startime=time.strftime("%Y%m%d%H%M%S")
now=time.strftime("%Y%m%d%H%M%S")
duratiion=raw_input(u"輸入持續(xù)運行時間:")
while (startime+str(duratiion))!=now:
run(10,1,int(duratiion))
now=time.strftime("%Y%m%d%H%M%S")
運行結(jié)果:

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
相關(guān)文章
Mac在python3環(huán)境下安裝virtualwrapper遇到的問題及解決方法
這篇文章主要介紹了Mac在python3環(huán)境下安裝virtualwrapper遇到的問題及解決方法,我在使用mac安裝virtualwrapper的時候遇到了問題,搞了好長時間,,在這里總結(jié)一下分享出來,供遇到相同的問題的朋友使用,少走些彎路,需要的朋友可以參考下2019-07-07
Python實現(xiàn)向QQ群成員自動發(fā)郵件的方法
這篇文章主要介紹了Python實現(xiàn)向QQ群成員自動發(fā)郵件的方法,通過讀取txt文本里的QQ成員數(shù)據(jù)再調(diào)用發(fā)送郵件函數(shù)實現(xiàn)該功能,是非常實用的技巧,需要的朋友可以參考下2014-11-11
PyTorch中torch.utils.data.Dataset的介紹與實戰(zhàn)
PyTorch是一個開源的Python機器學習庫,基于Torch,用于自然語言處理等應用程序,下面這篇文章主要給大家介紹了關(guān)于PyTorch中torch.utils.data.Dataset的介紹與實戰(zhàn),需要的朋友可以參考下2022-06-06
Python實現(xiàn)提取JSON數(shù)據(jù)中的鍵值對并保存為.csv文件
這篇文章主要為大家詳細介紹了如何基于Python實現(xiàn)讀取JSON文件數(shù)據(jù),并將JSON文件中指定的鍵值對數(shù)據(jù)轉(zhuǎn)換為.csv格式文件,感興趣的小伙伴可以了解下2023-09-09
Python基于opencv實現(xiàn)的人臉識別(適合初學者)
OpenCV是一個基于BSD許可開源發(fā)行的跨平臺計算機視覺庫,下面這篇文章主要給大家介紹了關(guān)于Python基于opencv實現(xiàn)的人臉識別,文中通過實例代碼介紹的非常詳細,本文的教程非常適合初學者,需要的朋友可以參考下2022-03-03
Python求出0~100以內(nèi)的所有素數(shù)
質(zhì)數(shù)又稱素數(shù)。一個大于1的自然數(shù),除了1和它自身外,不能被其他自然數(shù)整除的數(shù)叫做質(zhì)數(shù);否則稱為合數(shù)。下面小編給大家?guī)砹薖ython求出0~100以內(nèi)的所有素數(shù)實例代碼,需要的朋友參考下2018-01-01

