Http請求模擬報文返回工具HttpSimulation分享
身為一名程式設計師,HTTP我想是沒有人不知道的吧,另外在大家開發過程中應該遇到過這樣的問題,就是需要模擬一個HTTP報文返回,好對自己的程式進行功能測試,今天在這篇文章中跟大家分享一個自己實現的小工具--HttpSimulation,用於對模擬各種HTTP報文返回場景,有需要的可以下載使用,如果有志同道合的可以一起不斷完善這個小工具。
需求描述:
開發一個簡單工具,用於幫助開發、測試及相關人員進行HTTP請求的相關場景模擬需求。
開發功能描述:
(1)根據指定的請求引數返回相應的模擬報文,用於模擬部分場景;
(2)返回報文支援加密和不加密;
(3)返回報文支援壓縮和不壓縮;
(4)返回報文支援HTTP頭欄位設定;
(5)對單個介面支援返回多個報文,返回報文按照一定設定的佔比隨機返回(用於模擬有時成功,有時失敗的場景);
自己實現的程式碼是一個maven專案,HttpSimulation專案程式碼已經開源到Github,專案地址如下所示:
可以在Eclipse中直接匯入該專案,經過構建後生成一個war包,直接部署在tomcat下啟動即可,對於返回的報文需要在配置檔案config.xml中進行配置,在下面給出了一個示例配置檔案:
<?xml version="1.0" encoding="UTF-8"?> <config> <component id="test"> <interface id="test"> <encrypt>false</encrypt> <encryptmode>des</encryptmode> <encryptkey>123456</encryptkey> <compress>false</compress> <compressmode>gzip</compressmode> <response rate="50,50" cachable="true"> <headers> <header> <name>Content-Type</name> <value>application/json</value> </header> </headers> <responsetags> <responsetag>*/simulation1.txt</responsetag> <responsetag>*/simulation2.txt</responsetag> </responsetags> </response> </interface> </component> </config>
上面配置說明:用於配置test元件的test介面呼叫時隨機返回simulation1.txt和simulation2.txt檔案中配置的報文,返回報文隨機,佔比約50%:50%。
引數欄位說明:
欄位名稱 |
上級欄位 |
欄位含義描述 |
數量要求 |
節點屬性 |
備註 |
config |
無 |
配置上下文 |
1 |
頂級節點 |
|
component |
config |
單個元件配置 |
+ |
子節點 |
含有屬性id |
interface |
component |
單個介面配置 |
+ |
子節點 |
含有屬性id,用於唯一標識一個介面,相同元件下的介面id要確保唯一; |
encrypt |
interface |
是否加密 |
1 |
子節點 |
|
encryptmode |
interface |
加密演算法 |
0/1 |
子節點 |
目前僅支援DES加密;在啟用加密情況下需要設定該值; |
encryptkey |
interface |
加密祕鑰 |
0/1 |
子節點 |
在啟用加密情況下需要設定該值; |
compress |
interface |
是否壓縮 |
1 |
子節點 |
|
compressmode |
interface |
壓縮演算法 |
0/1 |
子節點 |
目前僅支援GZIP壓縮; |
response |
interface |
返回報文配置 |
1 |
子節點 |
用於配置模擬返回包 |
rate |
response |
返回包的返回佔比 |
0/1 |
屬性節點 |
預設100,如果有多個返回包 |
cachable |
response |
返回的報文是否快取在記憶體 |
0/1 |
屬性節點 |
預設true,如果報文檔案在服務使用過程中有修改需求,需設定成false,表示讀取最新的檔案內容。 |
headers |
response |
返回頭設定 |
* |
子節點 |
|
header |
headers |
單個返回頭 |
* |
子節點 |
|
name |
header |
返回頭名稱 |
1 |
子節點 |
|
value |
header |
返回頭名對應的值 |
1 |
子節點 |
|
responsetags |
response |
返回包檔案位置配置 |
1 |
子節點 |
|
responsetag |
responsetags |
單個返回包配置 |
+ |
子節點 |
必須配置絕對地址,否則無法正確訪問檔案; |
使用說明:
請求地址:****/simulation/test?componentid=*&interfaceid=*
示例:
返回包:
{
"resultcode":"200",
"reason":"Return Successd!",
"result":{
"province":"浙江",
"city":"杭州",
"areacode":"0571",
"zip":"310000",
"company":"中國移動",
"card":"移動動感地帶卡"
}
}
(備註:上面simulation1.txt和simulation2.txt檔案中儲存的都是如上json字串。)
如果您覺得該工具對您有幫助並且願意打賞我,歡迎掃描下面二維碼通過微信或者支付寶進行土豪打賞,感謝您的支援,謝謝!
相關推薦
Http請求模擬報文返回工具HttpSimulation分享
身為一名程式設計師,HTTP我想是沒有人不知道的吧,另外在大家開發過程中應該遇到過這樣的問題,就是需要模擬一個HTTP報文返回,好對自己的程式進行功能測試,今天在這篇文章中跟大家分享一個自己實現的小工
Chrome瀏覽器外掛Postman用法簡介-Http請求模擬工具
一 簡介 特點: 建立 + 測試:建立和傳送任何的HTTP請求,請求可以儲存到歷史中再次執行Organize:使用Postman Collections為更有效的測試及整合工作流管理和組織APIsdocument:依據你建立的Clollections自動生成API文件,並將其釋出成規範的格式collar
Postman用法簡介-Http請求模擬工具
在我們平時開發中,特別是需要與介面打交道時,無論是寫介面還是用介面,拿到介面後肯定都得提前測試一下,這樣的話就非常需要有一個比較給力的Http請求模擬工具,現在流行的這種工具也挺多的,像火狐瀏覽器外掛-RESTClient,Chrome瀏覽器外掛-Postman等等。這裡主要介紹一下Postman。 一、
Postman-Http請求模擬工具
在我們平時開發中,特別是需要與介面打交道時,無論是寫介面還是用介面,拿到介面後肯定都得提前測試一下,這樣的話就非常需要有一個比較給力的Http請求模擬工具,現在流行的這種工具也挺多的,像火狐瀏覽器外掛-RESTClient,Chrome瀏覽器外掛-Postman等等。這裡
Http請求模擬工具——Postman用法簡介
1、Postman說明 在我們平時開發中,特別是需要與介面打交道時,無論是寫介面還是用介面,拿到介面後肯定都得提前測試一下,這樣的話就非常需要有一個比較給力的Http請求模擬工具,現在流行的這種工具也挺多的,像火狐瀏覽器外掛RESTClient,Chrome瀏
Apizza用法簡介-Http請求模擬工具
Apizza (http://apizza.cc?f=bl) 平臺分為開發模式和瀏覽模板,開發模式只有使用者自己可以開啟,瀏覽模式是供其他人檢視,測試使用。 平臺支援標準的http協議請求,支援新增header,支援標準 json,xml,html,text四種返回格式,自動格式化展示。 平臺做了許多體驗
HTTP請求/響應報文結構
空格 dont acc 保存 mime 描述 網頁 斷開 解析 HTTP協議版本有兩種:HTTP1.0和HTTP1.1 它們倆的區別在於:HTTP1.0對於每個連接都只能傳送一個請求和響應,請求後就會關閉,HTTP1.0沒有Host字段;而HTTP1.1在同一個連接中可以傳
圖解HTTP請求響應報文
HTTP報文格式 常見的回寫客戶端的資料的型別 普通檔案:text/plain; charset=ios-8859-1 *.html:text/html; charset=ios-8859-1 *.jpg : image/jpeg *.gif : image/gif *.png
【SpringBoot】Http請求統一異常(返回資料)處理與單元測試
對返回資料格式的統一 首先規定一下錯誤的輸出格式: { "code": 1, "msg": "提示", "data": null } data是一個物件 首先定義一個http請求返回的類 package cn.
android開發http請求POST&GET封裝工具
最近一直想著封裝個網路請求框架,但是看到有很多部落格有封裝而且還不錯,於是就想著封裝一個安卓帶的,以便自己以後使用. 一,請求成功和失敗回撥介面 public interface OnResponseListner { void onSuces
http請求/響應報文及工作原理
http(Hypertext transfer protocol,超文字傳輸協議),屬於應用層協議,目前主流web瀏覽器使用的是http/1.1,它是基於請求/響應的模型,基於http開發的web應用都是典型的C/S(Client/Server)結構,即客戶端傳
java網路socket程式設計(六)之HTTP請求/響應報文
介紹 http報文包含請求報文和響應報文2種報文,他們都包含起始行、首部欄位、主體三部分。其中,請求報文為客戶端向伺服器端請求資源時傳送的http報文位請求包含,而響應報文為從伺服器端發往客戶端的報文
HTTP請求響應報文&&相關狀態碼&&GET_POST請求方法 總結
HTTP請求報文: 一個HTTP請求報文由四個部分組成:請求行、請求頭部、空行、請求資料 1.請求行 請求行由請求方法欄位、URL欄位和HTTP協議版本欄位3個欄位組成,它們用空格分隔。比如 GET /data/info.html HTTP/1.1 方法欄位就
傳送http請求,獲取返回的zip包並讀取包內的檔案
//接收http請求並將需要的檔案打包返回 public void mark(HttpServletResponse response) { try { response.setContentType("multipart/form-data");
Charles_N:HTTP請求響應監聽工具
Charles:HTTP請求響應監聽工具使用說明.doc 1. 介紹 Charles是一個HTTP代理伺服器,HTTP監視器,反轉代理伺服器.它允許一個開發者檢視所有連線網際網路的HT
HTTP請求/響應報文頭部結構
HTTP請求 一個HTTP請求由四個部分組成:請求行、請求頭部、空行、請求資料。 -請求行 請求行由請求方法欄位、URL欄位和HTTP協議版本欄位3個欄位組成,它們用空格分隔。比如 GET /data/info.html HTTP/1.1 方法欄位就是H
POST請求模擬工具、JSON請求工具、http介面測試、post介面測試
地址: apiDebug-API介面除錯外掛,開源API介面除錯外掛,Restfull介面除錯軟體,Restfull介面除錯外掛,谷歌API介面除錯外掛,Chrome瀏覽器介面除錯外掛,POST請求模擬外掛,api介面除錯工具,開源介面除錯工具,POST模擬工具
分享一款一直在維護的【網路開發運維|通用除錯工具】: http請求, websocket,cmd, RSA,DES, 引數簽名工具,指令碼批量生成工具,google動態口令,埠檢測,元件註冊,js混淆...
首先發下下載地址:https://files.cnblogs.com/files/taohuadaozhu/ConfigLab.Test.ex.rar 日常開發,運維,跨部門跨公司對接中。 想快速除錯,驗證一些介面,環境時需要快速處理的工具。本文章就分享這樣
分析HTTP請求返回304狀態碼
.net 解釋 sin 校驗 ctrl+ 提取 ctrl 狀態碼 我們 大家好,今天給大家分享一個狀態碼304,大家可能在以前的開發中打開chrome tools 或 firebug工具時有意間或無意間看到它。 HTTP 304: Not Modified 標準解釋是:N
HTTP請求報文詳解
指定 改變 .com set char mime url max skin HTTP Request Header 請求頭 Header解釋示例 Accept 指定客戶端能夠接收的內容類型 Accept: text/plain, text/html Accep