测试api代码,简单的接口测试代码
<html lang="zh-CN"><head> <meta charset="utf-8"> <title>接口测试</title> <link href="http://cdn.bootcss.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet"> <link href="http://cdn.bootcss.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet"> <link href="http://static.bootcss.com/www/assets/css/site.min.css?v3" rel="stylesheet"> <link href="http://static.bootcss.com/www/assets/ico/favicon.png" rel="shortcut icon"> <script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script></head><body><?phpheader('Content-type:text/html;charset=utf-8');function fly_curl($url, $postFields = null) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.1)'); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FAILONERROR, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //curl_setopt($ch,CURLOPT_HTTPHEADER,array("Expect:")); if (is_array($postFields) && 0 < count($postFields)) { $postBodyString = ""; $postMultipart = false; foreach ($postFields as $k => $v) { if("@" != substr($v, 0, 1))//判断是不是文件上传 { $postBodyString .= "$k=" . urlencode($v) . "&"; } else//文件上传用multipart/form-data,否则用www-form-urlencoded { $postMultipart = true; } } unset($k, $v); curl_setopt($ch, CURLOPT_POST, 1); if ($postMultipart) { curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); } else { //var_dump($postBodyString); curl_setopt($ch, CURLOPT_POSTFIELDS, substr($postBodyString,0,-1)); } } $reponse = curl_exec($ch); //return curl_getinfo($ch); if (curl_errno($ch)) { throw new Exception(curl_error($ch),0); } else { $httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); if (200 !== $httpStatusCode) { throw new Exception($reponse,$httpStatusCode); } } curl_close($ch); return $reponse;}function microtime_float(){ list ($usec, $sec) = explode(" ", microtime()); return ((float) $usec + (float) $sec);}$start = $end = 0;if (isset($_POST['submit'])) { if (strstr($_POST['url'], '?')) { $url = sprintf("%s&auth=%s", $_POST['url'], $auth); } else { $url = sprintf("%s?auth=%s", $_POST['url'], $auth); } $param = array(); if (isset($_POST['param'])) { foreach($_POST['param'] as $k => $item) { if (!empty($item['method']) && !empty($item['name'])) { $param[$item['method']][$item['name']] = $item['value']; } } } if (isset($param['get']) && !empty($param['get'])) { foreach ($param['get'] as $name => $value) { $url = sprintf("%s&%s=%s", $url, $name, $value); } } $post_data = null; if (isset($param['post']) && !empty($param['post'])) { $post_data = $param['post']; } $start = microtime_float(); $return = fly_curl($url, $post_data); $content = json_decode(urldecode($return), TRUE); if ( ! $content) { $content = $return; } $end = microtime_float();}?> <div class="container"> <div class="row row-offcanvas row-offcanvas-right"> <div class="col-xs-12 col-sm-12"> <div class="row" > <div class="col-xs-1 col-lg-4"> <h1>接口测试</h1> <div class="thumbnail"> <form class="form-signin" action="" method="post"> <b>请填URL</b>: <input value="<?php echo isset($_POST['url'])?$_POST['url']:'';?>" class="form-control" placeholder="填写完整地址,以http://开头" type="text" name="url" required><br> <?php if (isset($_POST['param']) && !empty($_POST['param'])) :?> <?php foreach ($_POST['param'] as $k => $item) :?> <?php if (!empty($item['method']) && !empty($item['name'])) :?> <div class="thumbnail"> <b>参数name</b>: <input value="<?php echo $item['name'];?>" placeholder="请填写" type="text" name="param[<?php echo $k;?>][name]"><br> <b>参数value</b>: <input value="<?php echo $item['value'];?>" placeholder="请填写" type="text" name="param[<?php echo $k;?>][value]"><br> <b>请求方式</b>: <label><input <?php if($item['method']=='get'):?>checked<?php endif;?> value="get" type="radio" name="param[<?php echo $k;?>][method]">get</label> <label><input <?php if($item['method']=='post'):?>checked<?php endif;?> value="post" type="radio" name="param[<?php echo $k;?>][method]">post</label><br /> <a href="#" onclick="del_param(this)">删除</a> </div> <?php endif;?> <?php endforeach;?> <?php endif;?> <input type="button" name="add_param" id="add_param" value="添加参数" class="btn btn-lg btn-primary btn-block"><br /> <input type="submit" name="submit" value="测试" class="btn btn-lg btn-primary btn-block"><br /> </form> </div> </div> <div class="col-xs-1 col-lg-8"> <?php if (isset($_POST['submit'])) { echo "<pre>"; echo "请求时间:"; var_dump($end - $start); echo "<br />请求url:"; isset($url) && var_dump($url); echo "<br />请求参数:"; isset($param) && var_dump($param); echo "<hr />结果:"; if (isset($content['result'])) { echo "<br />code:"; var_dump($content['result']['code']); echo "message:"; var_dump($content['result']['message']); echo "data:"; var_dump($content['result']['data']); } else { echo $content; } echo "</pre>"; } ?> </div> </div> </div> </div> <hr /> </div> <div class="blog-masthead"> <div class="container"> <nav class="blog-nav"> <p class="blog-nav-item">© Company 2014</p> </nav> </div> </div></body></html><script> $("#add_param").click(function(){ var input_len = $("form input").size(); input_len++; $(this).before('\ <div class="thumbnail">\ <b>参数name</b>:\ <input value="" placeholder="请填写" type="text" name="param['+ input_len +'][name]"><br>\ <b>参数value</b>:\ <input value="" placeholder="请填写" type="text" name="param['+ input_len +'][value]"><br>\ <b>请求方式</b>:\ <label><input checked value="get" type="radio" name="param['+ input_len +'][method]">get</label>\ <label><input value="post" type="radio" name="param['+ input_len +'][method]">post</label><br />\ <a href="#" onclick="del_param(this)">删除</a>\ </div>\ '); }); function del_param(obj) { $(obj).parent().remove(); }</script>测试api代码,简单的接口测试代码的更多相关文章
- HTML QQ聊天代码 简单的一行代码
简单的一行代码: <a href="tencent://message/?uin=173007740&Site=&Menu=yes">和17300774 ...
- API测试之Postman使用全指南(原来使用 Postman测试API如此简单)
Postman Postman是一个可扩展的API开发和测试协同平台工具,可以快速集成到CI/CD管道中.旨在简化测试和开发中的API工作流. Postman 工具有 Chrome 扩展和独立客户端, ...
- demo工程的清单文件及activity中api代码简单示例
第一步注册一个账户,并创建一个应用.获取app ID与 app Key. 第二步下载sdk 第三步新建工程,修改清单文件,导入相关的sdk文件及调用相应的api搞定. 3.1 修改清单文件,主要是加入 ...
- 06-编写Hibernate API编写访问数据库的代码,使用Junit进行测试
用到的注解: @Test:测试方法 @Before:初始化方法. @After:是否资源. 先执行Befere,然后执行Test,最后执行After. 第一步:新建一个Junit目录. 第二步:取名 ...
- API Studio 5.1.2 版本更新:加入全局搜索、支持批量测试API测试用例、读取代码注解生成文档支持Github与码云等
最近在EOLINKER的开发任务繁重,许久在博客园没有更新产品动态了,经过这些日子,EOLINKER又有了长足的进步,增加了更多易用的功能,比如加入全局搜索.支持批量测试API测试用例.读取代码注解生 ...
- 让 API 测试变的简单。
做开发已经四年有余了,之前在接口测试的时候最开始用的自己写的测试类进行测试,后来接触到了 postman 和 swagger ,虽然用起来比自己写的强太多了,但是总觉得差点事儿. 一方面是 postm ...
- 【sklearn决策树算法】DecisionTreeClassifier(API)的使用以及决策树代码实例 - 鸢尾花分类
决策树算法 决策树算法主要有ID3, C4.5, CART这三种. ID3算法从树的根节点开始,总是选择信息增益最大的特征,对此特征施加判断条件建立子节点,递归进行,直到信息增益很小或者没有特征时结束 ...
- C# 防止同时调用=========使用读写锁三行代码简单解决多线程并发的问题
http://www.jb51.net/article/99718.htm 本文主要介绍了C#使用读写锁三行代码简单解决多线程并发写入文件时提示"文件正在由另一进程使用,因此该进程无 ...
- DCGAN 代码简单解读
之前在DCGAN文章简单解读里说明了DCGAN的原理.本次来实现一个DCGAN,并在数据集上实际测试它的效果.本次的代码来自github开源代码DCGAN-tensorflow,感谢carpedm20 ...
随机推荐
- PowerDeigner 一个很好的画uml 和建模的软件
pd: http://pan.baidu.com/s/1o6qpCT0
- iOS,Xcode7 制作Framework,含资源和界面
Xcode7 制作Framework 本文通过Demo方式介绍1)将含bundle和存代码编写界面打包进framework:2)将storyboard +assets.xcassets打包. (一) ...
- sd 卡驱动--基于高通平台
点击打开链接 内容来自以下博客: http://blog.csdn.net/qianjin0703/article/details/5918041 Linux设备驱动子系统第二弹 - SD卡 (有介绍 ...
- Nordic Semiconductor nRF52832 蓝牙智能多协议单芯片解决方案荣获《中国电子商情》编辑选择奖
挪威奥斯陆 – 2016年4月11日 – Nordic Semiconductor ASA (OSE: NOD) 赢得<中国电子商情>颁发的"2015年编辑选择奖",其 ...
- Happy Number - LeetCode
examination questions Write an algorithm to determine if a number is "happy". A happy numb ...
- BI Content、Metadata Repository
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- const char* && string && String^ 类型转换
const char* && string && String^ 类型转换 const char* ---> string const char * cw= &q ...
- union (共用声明和共用一变量定义)
"联合"是一种特殊的类,也是一种构造类型的数据结构.在一个"联合"内可以定义多种不同的数据类型, 一个被说明为该"联合"类型的变量中,允许装 ...
- switch多分支语句简析
在编程中一个常见问题就是检测一个变量是否符合某个条件,switch以一个简单明了的方式来实现类似于"多选一"的选择,语法格式如下: /*switch首先计算表达式的值,如果表达式的 ...
- Linux 远程桌面 访问 WIndows
1. Debain 系列 linux sudo aptitude install rdesktop 2. Connect rdesktop <hostname> -r sound:off ...