本地PHP搭建简单测试服务器及VBscript接口测试脚本

来源:互联网 发布:lol海兽祭司技能数据 编辑:程序博客网 时间:2024/05/17 07:51

由于项目中使用http通信,并且服务平台与终端开发不在一个地方,因此,当平台因为某种原因停机,常常就会影响到终端的工作,因此,需要一个最简单的方法搭建一个本地服务器,用来测试终端,我这里使用的终端OS平台是windows mobile。使用PHP来搭建这样一个简单的服务器,用来测试项目中的通信和接口。

首先可以下载一个FleaPHP,这是一个可以自动帮你配置apach+php的集成环境,当然你也可以自己手动配置,那么就要分别下载apachPHP5,而且配置起来蛮曲折的,主要是把各个主要文件的路经设置妥当。这部分我就不说了。

建一个PHP文件,用来接受处理http通信,代码很简单:

<?php

  echo "running";

  foreach (getallheaders() as $name => $value)

  {

        if($name=='action'&&$value=="getContent ") 

            {

             header('HTTP/1.1 200 OK'); 

          header('result-code:0');

          header('TimeStamp: 2009-12-15');

          header('APIVersion:1.0.0');

          header('Content-Type: application/xml;charset=UTF-8');

          $file = fopen("getContent.xml","r");   

          while(!feof($file))

          {

            echo fgets($file);

          }

         fclose($file);

        }

?>

这里用来处理http通信,getContent就是接口名称,action是接口的key,在终端发出http头要定义“action”,”getContent”这样的匹配值!getContent.xmlXML文件,请求的数据都在里面,代码执行完之后会把这个XML的数据发回给终端。这个头会遍历整个请求头,因此请求头不要太啰嗦。另外终端不要试图使用127.0.0.1localhost这样的地址访问本地服务器。直接使用服务器分配到的IP访问,另外还要注意一点就是大小写的配置,你可以配置不区分大小写,如果不知道配,就直接看往来的数据,看看是否有大小写不匹配的地方。顺带贴一个.vbs文件用来测试服务器:

'写文件

Sub CreateAFile(ByVal httpInfo)

   Dim fso, MyFile

   Set fso = CreateObject("Scripting.FileSystemObject")

   Set MyFile = fso.CreateTextFile("E://Bodyfile.txt", True)

   MyFile.WriteLine(httpInfo)

   MyFile.Close

End Sub

 

'----------------------------服务器请求-----------------------------------------

Dim httpUrl '定义变量

httpUrl = "http://127.0.0.1:80/mobile.php/portapi"'请求URL

Set objXMLhttp = CreateObject("Microsoft.XMLHTTP") '建立Microsoft.XMLHTTP对象

objXMLhttp.Open "get",httpUrl,false '打开GET/POST连接

'-----------------------设置发送头信息------------------------------------------

objXMLhttp.SetRequestHeader "Content-Type", "application/xml" '内容类型

objXMLhttp.SetRequestHeader "Action", getContent'请求动作(获取系统书签)

'-------------------------------------------------------------------------------

objXMLhttp.send "<Request></Request>" '发送请求数据

 

CreateAFile(objXMLhttp.ResponseText)'调用子过程写文件

 

'-----------------------信息长度最大为1024才可以用一下方法显示-----------------

WScript.Echo(objXMLhttp.getAllResponseHeaders)'返回所有头信息

WScript.Echo(objXMLhttp.ResponseText)'返回所以BODY信息

 

InputBox "欢迎使用服务器接口测试工具","全部头信息",objXMLhttp.getAllResponseHeaders

InputBox "欢迎使用服务器接口测试工具","全部体信息",objXMLhttp.ResponseText

原创粉丝点击