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 class="brush:php;toolbar:false">"; 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 ""; } ?>