商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > WML学习之七 CGI编程

WML学习之七 CGI编程

  发布于2026-07-22 阅读(0)

扫一扫,手机访问

说到WAP网站的CGI编程,很多人第一反应就是“又要折腾服务器配置了”。没错,想让手机浏览器能正确解析WML页面,第一步还真得先搞定服务器端的MIME类型注册。这事儿其实不难,但不同环境下的操作方式略有差异,咱们一个个来看。

服务器配置:让IIS或PWS认识WML

如果你用的是IIS4,那最简单——打开站点管理器,在站点属性里找到“MIME类型”设置,新增一条:后缀填 .wml,MIME类型填 text/vnd.wap.wml。搞定。

要是还在用PWS(比如Windows 98时代的老环境),那就得动注册表了。分两步走:

  • 先在 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也类似,改个后缀和MIME类型就行,这里就不赘述了。

测试访问:用手机浏览器直连WML文件

配置完成后,直接在手机浏览器的地址栏输入 http://localhost/test.wml,只要能正常显示内容,就说明服务器已经认WML了。

CGI编程核心:别忘改Content-Type

CGI这块和普通ASP/PHP开发其实没太大区别,唯一容易踩的坑就是:**返回结果时,必须先输出正确的Content-Type**。具体来说,必须在脚本最前面把响应头设置为 text/vnd.wap.wml,然后再输出WML内容。否则手机浏览器会直接当成普通文本,页面就乱掉了。

下面给一个完整的例子,包含了WML前端的输入页面和后端的ASP处理脚本,大家可以对照着看。

前端页面:test10.wml








  
    
      
      
    
  
  

NAME:

后端处理:test10.asp

<%
uid = Request.Form("uid")
userName = Request.Form("uname")
Response.ContentType = "text/vnd.wap.wml"
%>




  

USERNAME:<%=userName%> USER__ID:<%=uid%>

这里有两个细节值得注意:一是前端用 postfield 提交表单数据时,记得把用户输入的值用 $(userName:esc) 进行转义,防止特殊字符破坏WML结构;二是后端必须先设置 Response.ContentType,再输出XML声明和WML内容,顺序不能乱。

整个流程跑通了,一个简单的WAP交互应用就成型了。当然,实际项目中还会涉及session管理、用户认证等问题,但有了这个基础,后面都是举一反三的事。

本文转载于:https://www.jb51.net/article/8378.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注