? ? ? 最近工作需要測試websocket接口,之前一直用Postman做http請求這種短連接的發(fā)包工具,現(xiàn)在發(fā)現(xiàn)Postman v8.5以上的版本支持websocket了,在此記錄一下。
?
首先New一個WebSocket Request
? ? ? ?在 WebSocket API 中,瀏覽器和服務(wù)器只需要完成一次握手,兩者之間就直接可以創(chuàng)建持久性的連接,并進行雙向數(shù)據(jù)傳輸。
? ? ? ?在Postman中輸入 WebSocket API URL,點擊connect建立連接,就可以無縫發(fā)送和接收消息了。
? ? ? ?可以發(fā)送text純文本,如果數(shù)據(jù)格式為JSON 和 XML,會有語法突出顯示和自動格式化 ,還可以編寫原始 ArrayBuffer 消息。
超時會提示連接已斷開
發(fā)送和接收的數(shù)據(jù)會在下方按順序顯示
歷史功能:
? ? ? ?還可以在 Postman 側(cè)邊欄的歷史記錄部分重新訪問之前的 WebSocket 會話。不僅可以查看歷史會話的消息,還可以重用相同的 API。? ?
附加:(之前了解websockt協(xié)議的時候,用python模擬了一個簡單的,websocket客戶端和服務(wù)器的通信過程,并監(jiān)控了進程所占用的句柄數(shù)和服務(wù)器上的網(wǎng)絡(luò)連接情況)
服務(wù)端:文章來源:http://www.zghlxwxcb.cn/news/detail-597149.html
#! python3
# SocketTestClient
# -*- coding:utf-8 -*-
import socket
import os
import subprocess
import time
host = '0.0.0.0'
port = 9918
host = socket.gethostname()
print('客戶端host = ',host)
print("客戶端請求PID = %i" % (os.getpid(),))
obj = socket.socket()
obj.connect((host, port))
print('netstat -nlp | grep %s' % port)
os.system('netstat -nlp | grep %s' % port)
j = 0
while True:
obj.send(bytes("這是客戶端第 %s 條消息! " % j, encoding="utf-8"))
#time.sleep(5)
j = j + 1
print("發(fā)送了 %s 條!" %j)
if j == 5:
obj.send(bytes("End", encoding="utf-8"))
ret = str(obj.recv(1024), encoding="utf-8")
print('ret = ',ret)
if ret == 'Finish!':
obj.close()
break
else:
continue
?客戶端:文章來源地址http://www.zghlxwxcb.cn/news/detail-597149.html
#! python3
# SocketTest.py
# -*- coding:utf-8 -*-
import socket
import os
import time
def socketTest():
while True:
ret = str(conn.recv(1024), encoding="utf-8")
print(ret)
if 'End' in ret:
print('連接結(jié)束-End')
print('---------------------------------')
conn.sendall(bytes("收到斷開連接信息-End!", encoding="utf-8"))
conn.close()
sk.close #不發(fā)送fin包
conn.sendall(bytes("我再發(fā)!", encoding="utf-8"))
conn.sendall(bytes("我再發(fā)!", encoding="utf-8"))
os.system('netstat -nlp | grep %s' % port)
break
else:
print('Not close')
continue
if __name__ == '__main__':
while True:
host = '0.0.0.0'
port = 9918
host = socket.gethostname()
print(host)
print("PID = %i" % (os.getpid(),))
sk = socket.socket()
sk.bind((host, port))
sk.listen(60)
# sk.settimeout(10)
print('端口監(jiān)聽中...')
os.system("netstat -nlp|grep :%i" % (port,))
print('客戶端返回連接信息')
conn, address = sk.accept()
print('連接中...')
print('連接來自: ', address)
print('---------------------------------')
print("lsof -p %i" % (os.getpid(),))
os.system("lsof -p %i" % (os.getpid(),))
print('---------------------------------')
print('netstat -nlp | grep %s' % port)
os.system('netstat -nlp | grep %s' % port)
print('---------------------------------')
print('ls /proc/%i/fd |wc -l '% (os.getpid(),))
os.system('ls /proc/%i/fd |wc -l '% (os.getpid(),))
#socketTest()
到了這里,關(guān)于Postman進行Websocket接口測試的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!