测试api代码,简单的接口测试代码。
程序员文章站
2024-04-05 16:33:30
...
php代码
<html> <head> <meta charset="utf-8"> <title>接口测试</title> <link href="http://cdn.bootcss.com/bootstrap/3.2.0/css/bootstrap.min.css?1.1.6" rel="stylesheet"> <link href="http://cdn.bootcss.com/font-awesome/4.1.0/css/font-awesome.min.css?1.1.6" 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?1.1.6"></script> </head> <body> <?php header('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(); } ?> <p> <p class="row row-offcanvas row-offcanvas-right"> <p class="col-xs-12 col-sm-12"> <p > <p class="col-xs-1 col-lg-4"> <h1>接口测试</h1> <p> <form action="" method="post"> <b>请填URL</b>: <input value="<?php echo isset($_POST['url'])?$_POST['url']:'';?>" 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'])) :?> <p> <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> </p> <?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> </p> </p> <p 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>"; } ?> </p> </p> </p> </p> <hr /> </p> <p> <p> <nav> <p>© Company 2014</p> </nav> </p> </p> </body> </html> <script> $("#add_param").click(function(){ var input_len = $("form input").size(); input_len++; $(this).before('\ <p>\ <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>\ </p>\ '); }); function del_param(obj) { $(obj).parent().remove(); } </script>
上一篇: 创建MySQL从库
下一篇: 自动验证,手机号,邮件不合法
推荐阅读
-
测试api代码,简单的接口测试代码。
-
测试你的JS的掌握程度的代码_javascript技巧
-
PHP中对各种加密算法、Hash算法的速度测试对比代码
-
PHP删除Array数组里指定的key(完整版,已封装成函数,附测试代码)
-
PHP中对各种加密算法、Hash算法的速度测试对比代码,hash速度测试
-
php使用位运算实现整数的加减乘除并测试(代码示例)
-
asp.net 添加水印的代码(已测试)
-
VS2017中调用gdal(C#版)的方法二(含gdal下载地址,配置过程,代码测试,超详细!!)
-
测试程序中代码的运行时间 博客分类: JAVA java
-
适用于Android测试自动化的15+种有用的Robotium代码段