PHP API接口测试小工具

简介: 前端时间给手机客户端做接口,当时弱爆了,写完API接口后,也不怎么测试,最后是等客户端调用的时候检验API的正确性。

前端时间给手机客户端做接口,当时弱爆了,写完API接口后,也不怎么测试,最后是等客户端调用的时候检验API的正确性。

后面利用PHP的curl实现Post请求,检验API接口的正确性;配合前面做的一个查看Apache错误日志的小工具,可将将错误一览无余;利用firebug或fiddler可以查看http通讯。

 

一、功能说明



样式 firebug中的http通信信息

 

1、client_name、client_version、api_debug和url这几个是每次都需要传的参数,除了url其他3个参数都可以根据实际情况修改,url是每个接口的地址

2、一行两个输入框的地方是可变参数,就是每个接口特有的需要传递的参数,参数名和参数值都可以自定义

3、点击添加参数可以增加那行可变参数

4、点击测试,将输入框中的数据发送到接口中

5、从接口端返回JSON格式的数据直接打印出来

 

二、html部分



<style type="text/css">
        .mb20{margin-bottom:20px}
        .title{display:inline-block;width:150px;text-align:right}
        .w100{width:100px}
        .mr10{margin-right:10px}
</style>


<div class="mb20">
            <label class="title">client_name:</label><input name="client_name" type="text" value="ANDROID"/>
        </div>
        <div class="mb20">
            <label class="title">client_version:</label><input name="client_version" type="text" value="4.0"/>
        </div>
        <div class="mb20">
            <label class="title">api_debug:</label><input name="api_debug" type="text"  value=""/>
        </div>
        <div class="mb20">
            <label class="title">url:</label><input name="client_url" type="text" value=""/>
        </div>
        <div class="mb20">
            <label class="title"><input name="api_key" type="text"  value="" class="w100"/>:</label><input name="api_value" type="text"  value=""/>
        </div>
        <div class="mb20">
            <label class="title"></label><input type="button" value="测试" id="submit" class="mr10"/><input type="button" value="添加参数" id="add"/>
        </div>
        <div id="message"></div>


这里做了点简单的修改,高度,宽度等。可变参数那行只用了name属性,分别是api_keyapi_value,方便等下的克隆操作。

 

三、JavaScript部分


<script type="text/javascript">
            $("#add").click(function() {
                var $parent = $(this).parent();
                var $clone = $parent.prev().clone();
                $clone.find(':text').val('');
                $clone.insertBefore($parent);
            });
            $("#submit").click(function() {
                var api_keys = {
                    api_debug:$('input[name=api_debug]').val(),
                    client_url:$('input[name=client_url]').val()
                };
                $('input[name=api_key]').map(function() {
                    var key = $.trim($(this).val());
                    var value = $.trim($(this).next().val());
                    var repeat = {};
                    if(key != '') {
                        repeat[key] = value;
                        api_keys = $.extend(api_keys, repeat);
                    }
                });
                //提交到test文件中
                $.post('test.php', api_keys, function(data) {
                    $("#message").html(data);
                });
            });
</script>


1、绑定两个按钮的click事件

2、$("#add")的click事件是在做克隆操作,克隆的同时将原先两个输入框中的内容清除

3、$('input[name=api_key]').map在做过滤无效可变参数的操作;有效的可变参数是指参数名和参数值都存在,只有都存在的才会发送过去

4、$("#submit")通过post给test.php,通过它来发送消息给接口

 

四、php部分


<?php 
    $root = 'http://api.1ddian.cn/';//可自定义域名
    $url= $root . $_REQUEST['client_url'];
    //用curl实现Post请求,可跨域
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_POST, 1);  
    curl_setopt($ch, CURLOPT_URL, $url);  
    curl_setopt($ch, CURLOPT_POSTFIELDS, $_REQUEST);  //传送参数
    ob_start();  
    curl_exec($ch);  
    $result = ob_get_contents() ;  
    ob_end_clean();  
    print_r(json_decode($result)); //中文返回的是unicode编码,decode后方便阅读
?>


1、$root这个域名可以自定义

2、用curl实现Post请求,可跨域

3、中文返回的是unicode编码,decode后方便阅读

 

demo下载:

http://download.csdn.net/download/loneleaf1/7966101

相关文章
|
20天前
|
API 数据库 决策智能
基于百炼平台qwen-max的api 打造一套 检索增强 图谱增强 智能工具调用决策的智能体
本文介绍了一种基于阿里云百炼平台的`qwen-max` API构建的智能体方案,该方案集成了检索增强、图谱增强及智能工具调用决策三大模块,旨在通过结合外部数据源、知识图谱和自动化决策提高智能回答的准确性和丰富度。通过具体代码示例展示了如何实现这些功能,最终形成一个能灵活应对多种查询需求的智能系统。
101 11
|
20天前
|
自然语言处理 NoSQL API
基于百炼平台qwen-max的api 打造一套 检索增强 图谱增强 基于指令的智能工具调用决策 智能体
基于百炼平台的 `qwen-max` API,设计了一套融合检索增强、图谱增强及指令驱动的智能工具调用决策系统。该系统通过解析用户指令,智能选择调用检索、图谱推理或模型生成等工具,以提高问题回答的准确性和丰富性。系统设计包括指令解析、工具调用决策、检索增强、图谱增强等模块,旨在通过多种技术手段综合提升智能体的能力。
107 5
|
3月前
|
设计模式 数据库连接 PHP
PHP中的设计模式:提升代码的可维护性与扩展性在软件开发过程中,设计模式是开发者们经常用到的工具之一。它们提供了经过验证的解决方案,可以帮助我们解决常见的软件设计问题。本文将介绍PHP中常用的设计模式,以及如何利用这些模式来提高代码的可维护性和扩展性。我们将从基础的设计模式入手,逐步深入到更复杂的应用场景。通过实际案例分析,读者可以更好地理解如何在PHP开发中应用这些设计模式,从而写出更加高效、灵活和易于维护的代码。
本文探讨了PHP中常用的设计模式及其在实际项目中的应用。内容涵盖设计模式的基本概念、分类和具体使用场景,重点介绍了单例模式、工厂模式和观察者模式等常见模式。通过具体的代码示例,展示了如何在PHP项目中有效利用设计模式来提升代码的可维护性和扩展性。文章还讨论了设计模式的选择原则和注意事项,帮助开发者在不同情境下做出最佳决策。
|
1月前
|
JSON 数据挖掘 API
如何使用PHP开发1688商品详情API接口
本文详细介绍了如何使用PHP开发1688商品详情API接口,涵盖从注册账号、申请权限、配置环境到代码实现的全过程。通过设置请求头、参数及生成签名,利用cURL或GuzzleHttp库发送请求并处理响应,最终实现商品详情数据的获取与应用,助力电商发展。
33 1
|
1月前
|
API PHP 数据库
PHP中哪个框架最适合做API?
在数字化时代,API作为软件应用间通信的桥梁至关重要。本文探讨了PHP中适合API开发的主流框架,包括Laravel、Symfony、Lumen、Slim、Yii和Phalcon,分析了它们的特点和优势,帮助开发者选择合适的框架,提高开发效率、保证接口稳定性和安全性。
62 3
|
1月前
|
XML JSON API
【PHP开发专栏】PHP RESTful API设计与开发
随着互联网技术的发展,前后端分离成为Web开发的主流模式。本文介绍RESTful API的基本概念、设计原则及在PHP中的实现方法。RESTful API是一种轻量级、无状态的接口设计风格,通过HTTP方法(GET、POST、PUT、DELETE)操作资源,使用JSON或XML格式传输数据。在PHP中,通过定义路由、创建控制器、处理HTTP请求和响应等步骤实现RESTful API,并强调了安全性的重要性。
35 2
|
2月前
|
敏捷开发 存储 数据可视化
解锁团队高效秘诀:5款顶尖PHP任务管理工具推荐
在现代企业中,高效的任务管理系统已成为不可或缺的工具,特别是在团队协作和项目管理中。PHP任务管理系统因其灵活性、开源性和易用性,备受企业管理者、项目团队和开发人员青睐。本文将介绍什么是PHP任务管理系统,其应用场景,以及推荐5款顶级的PHP任务管理系统,帮助企业提升效率和管理能力。
47 2
|
1月前
|
JSON API PHP
如何使用PHP开发API接口?
本文详细介绍了如何使用PHP开发API接口,涵盖从基础概念到实战步骤的全过程。首先解释了API接口的基本原理,包括HTTP协议、REST架构风格、JSON格式和OAuth认证机制。接着介绍了开发环境的设置,包括PHP安装、Web服务器配置、数据库设置等。文章还探讨了API开发的完整流程,从需求确定、框架选择、端点设计到代码编写、测试、安全性考量及性能优化。最后通过一个实战案例演示了如何创建一个简单的API端点,并讨论了部署与监控的方法。
86 0
|
3月前
|
Java PHP 数据安全/隐私保护
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
本文详细介绍了PHP面向对象编程的一系列核心概念和用法,包括构造函数、析构函数、继承、方法重写、访问控制、接口、抽象类、静态成员、final关键字、以及this、self、parent这三个关键字的异同和作用。通过具体示例代码,展示了如何在PHP中使用这些面向对象的特性,以及它们在实际开发中的应用。
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
|
3月前
|
缓存 API 网络架构
Nuxt Kit API :路径解析工具
【9月更文挑战第20天】在 Nuxt Kit API 中,路径解析工具如 `resolvePath()`、`joinPaths()` 和 `relativePath()` 帮助开发者高效处理应用路径,确保资源准确加载,并支持动态路由与组件导入。这些工具提升了应用的灵活性和可扩展性,同时需注意路径准确性、跨平台兼容性和性能优化,以提升用户体验。
54 12