justreq 永不离线的测试接口服务,摆脱测试接口离线之痛

接口调试小工具 日常与硬件交互或者与其他第三方调试接口难免都需要允许小工具,包括与硬件通讯或者SOCKET通讯的工具,以及各种通讯规则ASCII码转换;SOCKET、ASCII码表、超级终端、FTP等等均包含有 立即下载

justreq(JR Server)

相信各位程序猿、攻城狮都有遇到过接口服务器不给力的情况。有时接口服务器宕机,我们只能干瞪眼。有时也会想,如果能把接口拷贝到本地,那该多好。但是,先不说在本地运行接口服务代价有多大,接口一旦升级,又得再拷贝一次。为什么不能既能即时更新最新接口,又能不惧接口离线呢?答案是可以!
为了解决上述问题,我用业余时间开发了justreq。就像它的名字一样:“just request”,never offline!,它可以帮助你实现接口永不离线的梦想。
其原理就是在本地进行接口缓存,当接口服务处于离线状态时,它将直接从本地调取缓存。默认20分钟更新一次缓存,对于服务器来说,也大大减轻了负担。

运行效果图

特性

  • 自动缓存每一次接口请求,当测试服务器宕机时,依然可以从容开发
  • 接口替身服务,当后台GG们还没开发好接口时,可以用json、txt等替代
  • 独有jrs脚本,仿php,可以定制更灵活的接口替身,甚至可以用来开发小型站点
  • 支持ES6、ES7,开发更高效
  • 支持CORS跨域,前端开发也可以放心使用
  • 支持https,无论接口采用http还是https,都能从容应对

安装

首先下载安装Node.js,然后运行以下命令安装justreq命令行工具

npm install -g justreq-cli

运行以下命令安装主程序

npm install justreq

初始化

运行以下命令进行初始化

justreq init

配置完成后,将在当前目录生成“.justreq”文件,你可以随时按自己需求进行配置

使用

运行以下命令启动justreq

justreq start

然后把你的接口地址直接指向justreq服务(JR Server),例如:

// const API_HOST = "https://test.youhost.com";
const API_HOST = "http://127.0.0.1:8000";
$.get(API_HOST + "/getInfo.do?userId=1001", func);

如果需要在启动的同时更新缓存,可以用以下命令

justreq start -c

如果接口地址临时改动了,而你又不想修改配置文件,可以用以下命令

justreq start -h temp.yourhost.com

可运行如下命令查看更多命令行参数

justreq start --help

进阶玩法

JRS脚本

接下来要郑重推荐我们独创的jrs脚本了。该脚本基于javascript,因此你完全不需要任何学习成本即可上手。先来一段:

// getUser.jrs
var userId = $_GET['userId'];
var users = {
    1001 : {name:'zhangsan', age: 22},
    1002 : {name:'lily', age: 21}
};
var user = users[userId];
setCookie('userName', user.name);
echo(JSON.stringify(user));
end();

除了你所熟知的javascript对象外,我们新增加了一些必要的全局函数、属性

属性
namedescription
$_GET获取querystring
$_POST获取POST方式提交的表单数据
$_COOKIE获取cookies
$_HEADER获取header
$_FILES获取表单上传的文件。注意,如需要上传文件,须将form编码方式设置为enctype=”multipart/form-data”
方法
namedescription
echo(string)向页面输出字符串
end([string])结束当前脚本,输出字符串为可选参数。注:请务必使用该方法结束脚本,否则脚本将运行至超时
sendFile(filepath)也可直接使用文件做为输出。使用该方法时,不必再使用end()结束脚本
setMime(suffix)设置当前输出的mimetype;缺省将尝试json,如自动检测不通过,将切换为txt。可选值为:txt、html、css、xml、json、js、jpg、jpeg、gif、png、svg。如需设置其它类型,可直接使用setHeader函数设置“Content-Type”
setCookie(name, value)设置输出的cookies。完整参数:setCookie(name, value [, expires [, path [, domain [, secure [, httponly]]]]])
setHeader(name, value)设置header,其中’Server’、’Date’由JR Server自动设置,不允许修改

由于jrs脚本完全基于js,并运行于Node.js环境,因此,你可以使用Node.js下面的一切优秀模块来进行开发。
并且,只要你的Node.js版本支持,你也可以使用ES6/ES7来编写jrs


RULES配置

为了更好的发挥justreq的功能,我们提供了一些配置规则

namedescription
href接口路径,必填。可以使用正则表达式
ignoreArgs可忽略字段,以逗号分割,可以忽略一些非关键字段。例如跳过常见的防缓存的?v=1483884433384,则设置 {"ignoreArgs" : "v"}
noCache不允许缓存该接口,缺省值为允许
subs接口替身,推荐使用我们的jrs脚本,也可以是json、txt

以下是一份样例:

// .justreq
{
    ...
  "rules": [
    {
      "href":       "user.do",
      "subs":       "user.jrs"
    },
    {
      "href":       "login.do",
      "noCache":    true
    },
    {
      "href":       "getGoodsInfo.do",
      "ignoreArgs": "v,token,timestamp"
    }
  ]
}

其它配置项

namedescription
host必须。将要代理的接口服务器主机名
port可选。将要代理的接口服务器端口,默认80。(如设为443,并且没有配置proxyHttps选项,将自动切换为https方式连接接口服务器)
cacheTime可选。多久更新缓存,默认20分钟
cachePath可选。缓存存放路径,默认.jr/cache
substitutePath可选。替身文件存放路径,默认.jr/subs
jrPort可选。JR Server服务端口,默认8000
proxyTimeout可选。请求接口超时时间,默认6秒
proxyHttps可选。所请求的接口是否https,可选值为:auto、yes、no。默认auto(检测port是否443)。
ssl_ca可选。如果接口是https,并且需要数字证书,可使用该选项指定ca.pem存放地址
ssl_key可选。如果接口是https,并且需要数字证书,可使用该选项指定key.pem存放地址
ssl_cert可选。如果接口是https,并且需要数字证书,可使用该选项指定cert.pem存放地址
onCors可选。是否开启cors跨域,可选值为:yes、no,默认yes
rules可选。参照RULES配置

ChangeLog

2017-1-12

v0.2.3
  • 修复替身文件读取时异常退出的bug
v0.2.2
  • 添加jrs处理文件上传的demo
  • 修复因网络延迟造成丢包的bug

2017-1-11

v0.2.1
  • 使用http模块及pipe重构server.js
  • 使用https模块实现https代理支持
  • 使用pipe重构proxy.js
  • 使用formidable重构jrs.js
  • 错误处理优化,添加jrs脚本400错误处理
  • 添加cors配置选项

2017-1-9

v0.1.3
  • 修复jrs脚本set-cookies不成功的bug

2017-1-8

v0.1.2
  • 添加cors跨域支持
  • 完善examples

相关

justreq - github

issue

blog

开源协议

本项目依据MIT开源协议发布,允许任何组织和个人免费使用。

HTTP接口测试工具 简单轻便的 HTTP get post 请求离线小工具。 立即下载

相关推荐

http测试工具(get和post都可以)

http测试工具(get和post都可以)

api 接口测试工具:Postman、Apifox、Apipost、api压测(locust)、locust爬虫

Postman接口测试工具最全实用教程

freeking101的博客 5万+

非常强大的离线API

一款好的离线工具,有前端 后端 大数据 分布式 架构 移动端等等API 给喜欢的小伙伴下载哦

这个 API 工具,离线功能真的可太实用了

Eoapi 这样一个开源的 API 工具,就支持离线使用,不仅仅大大提升了用户的接口测试,接口管理等效率。当然它也可以部署到内网,比较适合个人和小团队使用。

qq_42107247的博客 3083

京东商品多维特征提取:基于时空大模型的实时库存预测接口设计

在电商行业,库存管理是供应链的核心环节之一。库存水平过高会导致资金占用、仓储成本增加,而库存水平过低则可能引发缺货风险,影响客户满意度和平台声誉。京东作为中国领先的电商平台,拥有海量的商品数据和复杂的业务场景,传统的库存预测方法难以应对市场动态变化和业务需求。时空大模型作为一种融合时间序列分析和空间特征提取的前沿技术,能够捕捉商品多维特征在时空维度上的变化规律,为实时库存预测提供更精准的决策依据。

FB13713612741的博客 954

DBeaver连接IoTDB避坑指南:手动配置JDBC驱动的完整流程(附问题排查)

本文提供了在DBeaver中手动配置Apache IoTDB JDBC驱动的完整流程与避坑指南。详细解析了从驱动创建、库文件添加(关键是指向整个lib目录)到连接测试的每一步,并重点针对常见的ClassNotFoundException、连接拒绝等错误提供了深度排查方案,帮助用户高效建立图形化管理连接。

weixin_28327051的博客 396

强!20K star!一款可替代 Postman 的API 测试工具,开源免费、完全离线、基于 Git 版本控制!

在软件开发和测试领域,API测试是确保软件接口稳定、可靠的重要一环。随着API的复杂性和数量的不断增加,对API测试工具的需求也日益增长。Postman作为一款广受欢迎的API测试工具,凭借其直观的用户界面和丰富的功能,赢得了大量开发者和测试人员的青睐。然而,随着技术的不断发展,市场上也涌现出了一些新兴的API测试工具,其中Bruno便是一款备受瞩目的新星。 今天就来给大家介绍一款新的测试工具: Bruno

伤心的辣条 3882

VTK四视图联动避坑指南:解决vtkImagePlaneWidget窗宽窗位同步与切片序号更新的那些坑

本文详细解析了VTK四视图联动开发中的关键技术点与常见问题,包括切片位置同步、窗宽窗位同步的实现原理及回调机制设计。针对开发中遇到的回调事件不触发、渲染性能低下等问题,提供了实用的解决方案和优化技巧,帮助开发者高效构建医学影像和科学可视化应用。

weixin_42638178的博客 392

盘点下常用的接口测试工具,有几个你肯定没用过

在、部署过程中, 总免不了要对服务的一些接口进行简单的测试和验证, 在很多时候都是在服务器环境, 因此掌握一个命令行http接口测试工具还是非常有必要的, 我常用的主要有三个, wget、curl和HTTPie.

2401_83387413的博客 906

SAP 批次管理

批次管理: 业务场景: 批次常用于:采购、生产、SD等: 1、先进先出,先入库的先出库(如何实现),基于入库时间来自动确定出库策略。 2、追塑:基于批次进行产品质量追溯 例如订单MTO ---> PP ----> MM(批次关联)。SO—>PP工单 --> 预留 --> 发料(基于批次A\B\C)-->产成品入库-->批次入库D--> ...

willieyuan的博客 1万+

无线通信技术及其在机器人中的应用

本文系统阐述了无线通信技术在机器人领域的应用框架与技术选型。首先构建了无线通信的三层理论架构:物理层解决信号传输问题,链路层处理接入控制,网络层实现组网管理。随后详细分析了主流无线技术的特性与适用场景:BLE适用于低功耗传感器节点,Wi-Fi适合高带宽视频传输,5G专网满足工业AGV的广域覆盖需求,星闪技术凭借20μs超低时延和4096台并发连接能力,为高端机器人应用提供突破性解决方案。通过鄂尔多斯隆基5G专网等典型案例,验证了5G在工业AGV规模化部署中的优势,并展望了通感算智融合、星闪+5G协同等未来发

weiyvyy的博客 1114

我保证你一定会喜欢的几个好用的 API 测试工具

分享一下我调研并使用过的五种测试工具,适合不同的场景使用。

qq_42107247的博客 3294

rk3576 适配摄像头 (mipi 五摄)

在RK3576上实现五路CSI摄像头方案,核心思路是充分复用其视频输入接口,并通过巧妙的软件配置来实现。

weixin_35723192的博客 183

永不离线的测试接口服务——justreq

justreq(JR Server) 相信各位程序猿、攻城狮都有遇到过接口服务器不给力的情况。有时接口服务器宕机,我们只能干瞪眼。有时也会想,如果能把接口拷贝到本地,那该多好。但是,先不说在本地运行接口服务代价有多大,接口一旦升级,又得再拷贝一次。为什么不能既能即时更新最新接口,又能不惧接口离线呢?答案是可以!为了解决上述问题,我用业余时...

weixin_34148456的博客 149

基于SpringBoot 3 + Vue 3的全栈民宿预约管理系统设计与实现

文章将详细阐述系统的需求分析、架构设计、数据库设计、核心功能模块的实现(包括用户认证、房源管理、订单流程、支付集成等),并提供关键代码片段,最后对系统进行总结与展望。.requestMatchers("/api/admin/**").hasRole("ADMIN") // 管理员接口。.requestMatchers("/api/auth/**").permitAll() // 认证接口公开。.requestMatchers("/api/public/**").permitAll() // 公开资源。

2201_76125393的博客 272

max96712 GMSL1/2 相机调试记录

在部分相机调试中,使用i2cdetect 无法进行i2c扫描,一旦进行扫描会影响整个I2C总线通信异常,但是其能使用i2ctranfer命令进行读写操作,并不影响相机的开发调试。max96712的流路径分布如下图所示,需要通过对max96712进行相关配置,对GMSL-A/B/C/D进入的数据规划pipe。确认VID_PKL_DET 状态。max96712相关状态确认。MAX97612 状态确认。Linux 状态确认。

navy2015_163的博客 1106

justreq与mock.js组合,快速打造高质量Mock Server

前端开发中我们经常遇到以下问题 1. 后端api接口还没开发完,前端只能无尽的等待... 2. 开发过程中,接口服务器宕机了,也只能无尽的等待... 3. 网络奇差,一半时间都在等待接口响应了 4. 自己模拟数据,但部署时还得逐个去js文件清理 5. 逻辑太复杂,模拟数据杂乱,无法管理 6. 现有Mock Server或多或少都需要往项目里植入一些代码 7. 并不是所有接口都需要mock,后端已完成的接口希望直接调用

Vilien (Mr.Bin) 技术笔记 863

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【免费下载】 WebSocket 离线测试工具(自用)

WebSocket 离线测试工具(自用) 【下载地址】WebSocket离线测试工具自用 本仓库提供了一个自用的 WebSocket 离线测试工具,方便开发者在本地环境中进行 WebSocket 连接的测试和调试。该工具旨在简化 WebSocket 的测试流程,提高开发效率 ...

gitblog_09734的博客 2694

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

关于 swagger 生成离线接口文档(.md转pdf)

第一步 在项目中添加新的依赖 <!-- swagger-bootstrap-ui增强ui --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.9.4</ve

weixin_42634260的博客 2487

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

分享几款比较常用的接口测试工具

前端是什么呢,对于web端来说,咱们使用的网页,打开的网站,这都是前端,这些都是html、css写的;对于app端来说呢,它就是咱们用的app,android或者object-C(开发ios上的app)开发的,它的作用就是显示页面,让我们看到漂亮的页面,以及做一些简单的校验,比如说非空校验,咱们在页面上操作的时候,这些业务逻辑、功能,比如说你购物,发微博这些功能是由后端来实现的,后端去控制你购物的时候扣你的余额,发微博发到哪个账号下面,那前端和后端是怎么交互的呢,就是通过接口。

2401_83396248的博客 4961

推荐一款技术人必备的接口测试神器:Apifox

推荐阅读: 这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试 毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题 最全面试题新鲜出炉:70+算法题、近30种大厂面试笔试常考知识点 1. 背景 作为互联网行业技术从业者,接口调试是必不可少的一项技能,通常我们都会选择使用 Postman 这类工具来进行接口调试,在接口调试方面 Postman ...

xingduan5153的博客 3966

Apipost,测试接口--不登录、不联网照样用,拔网线都不怕

从Apipost在最新发布的V6.0.4版本起,特别针对广大用户们在离线与未登录的各种使用与业务场景,进行了针对性的功能迭代与优化。 核心目的就是针对用户们在 “脱机 ;离线 ;未登录” 三种情况下,力保 业务不能停 工作不能停 数据更安全 Apipost不登录、脱机状态下—正常使用篇 Apipost特别针对离线/脱机、未登录的工作场景进行了适配和优化,保证大部分用户可以最大限度上使用工具。 正常使用Cookie管理器↓ 正常使用全局参数↓ 支持curl导入↓...

bottestman的博客 7101

离线API文档工具

window 平台 Zeal Mac 平台 Dash

sinat_31964903的博客 2603

3分钟上手轻量级HTTP客户端:Restfox离线API测试工具全攻略

Restfox是一款基于Vue.js开发的开源网络测试工具,以离线优先为核心设计理念,为开发者提供轻量级HTTP与Socket测试解决方案。相比传统客户端,其启动速度提升60%,安装包体积不足20MB,无需依赖云端服务即可完成全流程API调试。 ## 轻量级测试工具的核心价值:为何选择Restfox? 作为专注离线场景的API测试工具,Restfox具备三大核心优势: 💡 **零学习成本的

gitblog_00331的博客 1313

api 接口测试工具:Postman、Apifox、Apipost、api压测(locust)、locust爬虫,收藏这篇就够了

Postman 是一款功能强大的网页调试与发送网页HTTP请求的工具。有 Chrome 插件版本,也有Postman 本地应用程序版本,插件版本早已停止更新。详细了解为什么支持 Postman Chrome 应用程序已被弃用?

leah126的博客 2733
上一篇: 前端代码检测利器——eslint for sublime安装指南
下一篇: justreq与mock.js组合,快速打造高质量Mock Server
Vilien
博客等级 码龄18年 35粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值