WML学习之七 CGI编程

  CGI编程

  1)在WEB服务器上添加WML的MIME类型

    对于IIS4,可在其管理器里的站点属性中加入新的MIME类型,后缀.wml和 MIME类型text/vnd.wap.wml。

    对于PWS,可修改注册表,先在 HKEY_CLASSES_ROOT层加入主键.wml,再加入串值Content Type为text/vnd.wap.wml,然后在HKEY_LOCAL_MACHINE\Software\CLASSES\MIME\Database\Content Type\中加入主键text/vnd.wap.wml,再加入串值Extension为.wml。

    以前提到的HDML也用类似的方法。

   2)以http方式访问wml文件

    在手机浏览器的URL栏里输入http://localhost/test.wml,就可以访问WML文件了。

   3)CGI设计

    和普通CGI变成的方式差不多,只是返回结果时,先要输出Content-Type为text/vnd.wap.wml,然后再输出WML内容。

  test10.wml

  ---------------

  <?xml version="1.0"?>

  <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

  <wml>

  <head>

  <meta http-equiv="Cache-Control" content="max-age=0"/>

  </head>

  <card id="card0">

  <do type="accept" label="Input Name" name="do1">

  <go href="http://localhost/test.asp" method="post">

  <postfield name="uid" value="123456"/>

  <postfield name="uname" value="$(userName:esc)"/>

  </go>

  </do>

  <p>

  NAME:<input name="userName" title="User Name" type="text" format="*M" emptyok="false" maxlength="12"/>

  </p>

  </card>

  test10.asp

  ---------------

  <%

  uid=Request.Form("uid")

  userName=Request.Form("uname")

  Response.ContentType="text/vnd.wap.wml"

  %>

  <?xml version="1.0"?>

  <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

  <wml>

  <card>

  <p>

  USERNAME:<%=userName%>

  USER__ID:<%=uid%>

  </p>

  </card>

  </wml>