测试网站接口,nginx篇
nginx是反向代理,怎么通过nginx反向代理要测试接口的线上网站呢。
这里自我提供了一个方法,仅供参考!建议不要用于刷接口等非常规的用途,后果会很严重。
首先 用node express创建一个项目test,然后安装依赖什么的等等,不再多说,可搜索express创建项目,我这里新建一个ejs项目,页面包含接口测试,以及日志处理输出等,项目服务器地址是127.0.0.1:7171。
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/test/stylesheets/style.css' />
<script src='/test/javascripts/jquery-1.8.3.min.js'></script>
</head>
<body>
<h1><%= title %></h1>
<button id="testBtn">测试接口</button><span id='testResult'></span>
<p id='timeLeft' style="color:red;">倒计时:0</p>
<div style="width: 820px;">
<div id='content1' style='width:400px;height: 400px;overflow-y: auto;border:1px solid #00f;display: inline-block;word-break: break-all;word-wrap: break-word;'>积分日志信息</div>
<div id='content2' style='width:400px;height: 400px;overflow-y: auto;border:1px solid #00f;display: inline-block;word-break: break-all;word-wrap: break-word;'>正常日志信息</div>
<div style='width: 400px;display: inline-block;'>
<button id='startBtn1' type='button' value='开始'>开始</button>
<button id='throwBtn1' type='button' value='投掷'>接口1</button>
<span id='totalNum'>0</span>
</div>
<div style="width: 400px;display: inline-block;">
<button id='startBtn2' type='button' value='开始'>开始</button>
<button id='throwBtn2' type='button' value='投掷'>接口2</button>
</div>
</div>
<script src='/test/javascripts/accessAll.js'></script>
</body>
</html>
显示效果

注意这里导入了jquery主要是为了接口通讯方便,accessAll是接口处理,在这里可以为所欲为,可以对接口请求数据进行更改和对返回数据分析,贴一个简单的测试代码供参考:
//测试接口
$('#testBtn').click(function(){
$.ajax({
"url":'接口url(注意这里不能包含网站域名,否则跨域)',
"type": "GET",
success:function(res){
if(res.result){
$('#testResult').text('接口正常');
}else{
$('#testResult').text(res.msg);
}
},
complete:function(){
$('#testResult').text = "接口异常";
},
fail:function(){
$('#testResult').text = "http error";
}
});
});
接下来最重要的就是怎么让这个网页能正常请求到信息而不跨域呢。
先配置一个nginx服务器地址,端口1111,
接下来,假设要测试接口的网站为test.net,我们把其根代理指向test.net,这时启动nginx,在浏览器输入127.0.0.1:1111试下是不是直接跳到
test,net了,第一步完成。
第二步 配置自己的测试页nginx配置,proxy路径为/test/。到这里基本就玩成配置了,重启nginx,在浏览器启动两个网页,一个是根网页127.0.0.1:1111,另一个是自己的测试页127.0.0.1:1111/test/,这时就可以通过test页正常请求test.net的接口了,注意接口路径。
完整nginx配置
server {
listen ;
server_name localhost;
location / {
proxy_pass https://test.net/;
}
location /test/ {
proxy_pass https://127.0.0.1:1717/;
}
error_page /50x.html;
location = /50x.html {
root html;
}
}
简单的接口测试,当然还有其他很多方法,我这个只是自己摸索出来的。
测试网站接口,nginx篇的更多相关文章
- 『动善时』JMeter基础 — 50、使用JMeter测试WebService接口
目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...
- 『动善时』JMeter基础 — 51、使用JMeter测试WebService接口
目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...
- 【转】Android LCD(二):LCD常用接口原理篇
关键词:android LCD TFT TTL(RGB) LVDS EDP MIPI TTL-LVDS TTL-EDP 平台信息:内核:linux2.6/linux3.0系统:android/ ...
- MVC支付宝PC网站接口对接
PC网站支付接口,请参考支付宝官方文档:https://b.alipay.com/signing/productSet.htm?navKey=all 1.需要提供签约账号.商户密钥 2.代码实现: 支 ...
- Python之测试webservice接口
前段时间学习了Python操作http接口,觉得挺容易的.最近项目组也有接触webservice接口,心里想想是否Python也可以操作这类接口.于是利用伟大的度娘,花了6个小时研究出来了,所以迫不及 ...
- (转)LCD:LCD常用接口原理篇
关键词:android LCD TFT TTL(RGB) LVDS EDP MIPI TTL-LVDS TTL-EDP平台信息:内核:linux2.6/linux3.0系统:android/a ...
- jmeter 测试websocket接口(一)
jmeter 测试websocket接口时,需要对jmeter添加测试websocket的jar包. 下载地址: https://download.csdn.net/download/qq_14913 ...
- 支付宝PC网站接口对接
PC网站支付接口,请参考支付宝官方文档:https://b.alipay.com/signing/productSet.htm?navKey=all 1.需要提供签约账号.商户密钥 2.代码实现: 支 ...
- jmeter3.3测试webservice 接口
1.天气预报网站,提供webservice接口 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 2.选择测试的接口getSupp ...
随机推荐
- 【VS开发】C++线程安全
我们是多么渴望各种C++类都是多线程安全的,然而一旦涉及到对象间的交互,这样的渴望可能就只能是奢望了.下面,我们以设计一个双向链结点为例,看看要使其多线程安全将会带来一些什么问题. class Dou ...
- DDOS常见攻击类型和防御措施
DDOS 攻击类型: SYN Flood 攻击 ACK Flood 攻击 UDP Flood 攻击 ICMP Flood 攻击 Connection Flood 攻击 HTTP Get 攻击 UDP ...
- 浅谈Linux du命令
**du(disk usage),顾名思义,查看目录/文件占用空间大小** 1.查看当前目录下的所有目录以及子目录的大小 du -h du -ah #-h:用K.M.G的人性化形式显示#-a:显示目 ...
- PHP中的接口
对象接口 使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容. 接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方 ...
- java 给定一个日期期间 返回形如Mar 2015 3/20-3/31的数据
最近一个项目中有个前台对于表头要求: 给定一个日期期间返回形如 Mar 2015 3/20-3/31Apr 2015 4/1-4/30 这样的月年数据,简单的写了下代码,暂时没想到更好的办法 例如传进 ...
- Windows7/win10系统安装JDK的环境变量设置javac不是内部命令或外部命令
---恢复内容开始--- Windows7/win10系统安装JDK的环境变量设置 Windows7 X64安装“jdk-6u26-windows-x64.exe”后,按照网上的环境变量设置方法设置了 ...
- 转:spring中InitailizingBean接口的简单理解
转自:https://www.cnblogs.com/wxgblogs/p/6849782.html spring中InitializingBean接口使用理解 InitializingBean接 ...
- 帝国cms所有一级栏目遍历,如果有子栏目的话,遍历出来
所有一级栏目遍历,如果有子栏目的话,遍历出来. 注意下方的bclassid是可以改变的.可以改成自己想要设置的父栏目id. 遍历所有栏目,如果有二级栏目的话显示 [e:loop={"sele ...
- 自己实现JDK动态代理
实验的目录结构 1.JDK动态代理 先来一段jdk动态代理的demo,首先创建一个接口,Person public interface Person { public void eat(); } 实现 ...
- python 读excel表操作
import xlrd # 打开文件 data = xlrd.open_workbook('测试表.xlsx') # 查看工作表 data.sheet_names() print("shee ...