1. 程式人生 > >Http請求模擬報文返回工具HttpSimulation分享

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