Professional Documents
Culture Documents
cn)
目录
第 1 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
一、 关于 WAP 的常见 问答
2. 什么是 WAP ?
Internet 上 的 应 用 和 服 务 。
生的婴儿阶段,看起来的确有很多不尽人意的地方,但是随着无线通讯工具的普及、网络技术日益成熟、
并且更能享受随时随地想上就上的轻松自在。
3. 谁发展 了 WAP ?
该讨论组的网址为:www.wapforum.com。
的成员。
WAP 允许持有支持该协议的移动设备访问信息和事务服务,例如:饭店和旅馆信息、证券交易、银行服
并 且 具 有 很 高 的 安 全 级 别 。 它 兼 容 现 有 的 应 用 程 序 和 IT 系 统 。
为 , 将 有 超 过 5.25 亿 部 WAP 手 机 投 放 市 场 。
第 2 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
合 作 伙 伴 的 公 司 将 能 够 为 他 们 的 客 户 随 时 随 地 提 供 服 务 。
WAP 将允许合作伙伴使用现有的所有协议或载体为用户服务。最重要的就是通过一个统一的途径来访问
全 球 的 用 户 。
面对这样广阔的前景,当然有理由投资 WAP 了。
以下的应用是其中的一个例子,这个应用将从移动网络受益非浅(被称作“应用杀手”)。
总的来说定位服务为用户提供全球定位服务,并且还能提供和位置相关的各种信息。在不久的将来,移
的 回 答 描 述 往 往 是 不 准 确 的 。
一个简单的例子就是显示一个城市的公共交通。假设某人想到某个站下车去参加一个会议。因为公共汽
车可能会误点,他需要知道公共汽车上次离停的时间,或者知道它到底晚点多少。
要的信息后,Web 服务器就可以告诉他到底在什么地方,并且可以显示最近的公共汽车站点。虽然现在的
公共汽车、火车等交通工具还没有 GPS,但是相信总有办法得到位置的精确信息。总的来说,系统可以不
用 等 到 新 技 术 的 出 现 就 能 得 到 相 关 的 服 务 。
当技术成熟到可以自动得到用户地理位置的时候,一个好的基于位置的服务将可以提供一个城市停车
服务。例如不需要停车灭表,用户拥有一个设备和唯一的号码。当他想停车的时候,只要简单地告诉系统
到了,他必须开车离开或者再付钱。同时,这个系统还可以自动地通知用户哪里有停车位置,哪里发生了
交通堵塞并提出智能化的建议。
能 。 现 在 有 很 多 厂 家 都 生 产 WAP 手 机 并 且 在 中 国 销 售 。 例 如 :
Ericsson,Mitsubishi,Neopoint,Samsung,Ericsson。
在 GSM 中,WAP 可以使用 Short Message Service(SMS)信道或者 Circuit Switched Data (CSD)信道,
后者的带宽比较大。
WAP 是为了可以在多种网络环境中运行而设计的。包括:GSM、PDC、CDPD、CDMA、TDMA、PHS 和
DECT,还包括将来的 3G。
本 上 是 使 得 WAP 设 备 能 够 操 作 普 通 的 Internet 。
第 4 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
设 备 上 供 用 户 使 用 。
这 是 一 种 WAP 设 备 连 接 到 Internet 的 主 要 方 式 。
图 10-2 使用公共网关
的 方 法 。
面 。
图 10-3 说明了这个问题。防火墙是可选的,但是强力推荐。
图 10-3 加入防火墙
第 5 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
点 对 点 的 WTLS 加 密 协 议 。
WAP 服务器对于一个普通的站点来说是不必要的。
围的无线网络。
器,非常有限的显示屏幕等等。这些应用如何能更好的工作,完全取决于开发人员。WAP 现在的确是限制
了 开 发 人 员 , 但 它 是 一 个 新 技 术 , 毕 竟 在 发 展 的 过 程 中 有 很 多 障 碍 。
要死亡。笔者个人认为这是错误的,首先是设备的问题,当人们外出时需要尽可能的少带设备;其次是花
制造厂商可能想通过将 PC 和移动电话集成在一起来解决这个问题。那么设备的尺寸又是另外一个问题。
对于这样一个能够让人们使用的设备,肯定有很多限制。首先是输入设备,当前最好得输入设备就是键盘。
若给移动电话配一个合适的键盘,那么这样一个键盘的每个按键之间的间隔可能只有小孩子才可以使用。
其次是输出界面,一个人的眼睛最适合于观看五英寸的屏幕,任何比这再小的屏幕,用户都不得不再移
近观看,这么大的一个屏幕将使得设备显得特别庞大并且无法放在一个普通的口袋里,而典型的移动电
第 6 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
备,除非用一只手来抓住它另一只手来操作或者让它完全固定住。而一个普通的移动电话,用户只需用一
只 手 就 可 以 操 作 , 包 括 抓 住 和 输 入 。
有人可能要说在一个电话上使用数字键盘来输入是不可能。使用普通的键盘的确是很方便,但是这并不
且应用它。
WAP 可 以 提 供 Web 的 功 能 应 用 。
表 10-1 WAP 应用
应用 类型 地址
翻译 翻译成英文 http://www.zenith.ie/wap/translate
WAP 相机
(从菜单选择 WAP CAM)
域名检测 检 测 http://kronkel.com/domain.wml
.com .net
和 .nl 域 名 的
有效性
波 兰 波 兰 http://www.polish-airports.com/wap/main.wml
机场信息 机 场 信 息
(波兰语)
SETI@Home 显 示 http://seti.matrix.pl/setiatwap/
级别列表 SETI@Home
级 别 列 表
Kuba
Urbaniak
第 7 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
域 名 检 测 和 注 册 http://wap.tldnames.com/
检测和注册 .com .net
.org 域名
PDFmail 安 全 的 http://www.sanface.com/wap/pdfmail.wml
WAP e-mail
有很多功能
提供商 服务类型 地点
http://www.tagtag.com/
http://www.waphq.co.uk/
http://www.wapservice.com/
http://www.wappy.to/
http://www.sowap.com/
http://www.freedom2surf.net/
第 8 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
http://www.anytimenow.com/
http://www.hoiley.com/
http://www.waphome.ch/
WapSpy 免费提供商,文件上传,图像库
http://www.wapspy.com/
http://www.wapmine.com/
http://www.wapdrive.net
http://www.wap-homes.de/
AddCom 免费提供商(在德国) 德国
http://www.addcom.de/
WapMatic 免费提供商(在英国和德国) 德国
http://www.wapmatic.de/
http://www.web-hosting.com/
http://www.donetr.com/index.html
http://wap.start.no/
第 9 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
提供商 服务类型 地点
wapHQ WAP,应用主机,合作应用 英国
http://www.waphq.co.uk/
http://www.brainstorm.co.uk/
http://www.integrationwireless.com/
现在阅读了一些文档之后能很容易的上手。笔者也建议你在阅读了一些文章之后再开始做。
这里有一个词汇表(表 10-4)
表 10-4 词汇表
第 10 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
值 得 注 意 的 不 同 。 毕 竟 一 个 协 议 不 能 进 化 得 太 快 。
新协议
告诉内容提供者它有什么样的功能。这样使得提供者可以格式化输出最好的功能到这个专门的用户代理。
WML
按键转跳到一个专门的锚或者输入框中。
<input>的格式化属性 Nf 已经从绝对数值变化到可以从 0 到 n。
字符编码不在依靠指定的专门的<meta>标签。
WMLScript 标准库
他 们 的 站 点 。
Web 环 境 是 使 用 插 件 来 解 决 的 。 但 是 对 于 WAP 环 境 没 有 插 件 。
二、 关于 WML 的常 见问答
第 12 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
的一个应用子集。
2. 什么是 WML?
做 微 型 浏 览 器 。 微 型 浏 览 器 的 功 能 是 受 到 WAP 设 备 的 限 制 的 。
换 和 压 缩 。 所 以 WAP 使 用 的 是 WML 。
第 13 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
带宽。随着无线技术的提高,带宽会越来越宽。这个原因可能不再是主要原因,但是在达到这么高带宽之
前 需 要 许 多 年 的 时 间 。
中能量来自于电池。而一个低处理能力的处理器就意味着电池的使用时间可以更长。
另外,HTML 的确需要一个很大的显示屏幕。移动电话上的屏幕显然不能满足要求。当然也许会有一个
类似 HTML 的显示,它的尺寸已经是你可以方便携带的最大尺寸。
这 种 状 况 已 经 与 当 初 想 建 立 一 个 简 单 的 标 准 相 背 离 。
移动设备(例如:移动电话)具有小屏幕、内存少、缺少方便的输入设备和带宽窄的特点。这种状况驱使
浏览器也很多,例如:WinWap、WapMan 等等。
第 14 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
有 太 多 的 错 误 信 息 。
开头或者结尾中包含的部分叫做元素。有些标签叫做空元素,只有标签,没有内容,如: <tag/> 。
许多元素有属性来描述应其中还有那些内容。属性名字必须小写,并且属性值必须使用双引号括起来。
有 些 属 性 是 必 须 的 , 有 些 是 可 选 的 。 一 般 的 属 性 标 签 格 式 就 像 : <tag attribute1="value"> 。
变 量 可 以 在 WML 卡 片 中 定 义 , 它 们 的 一 般 格 式 是 $(variablename) 。
<?xml version="1.0"?>
所有的页面中的元素,都必须在<wml>和</wml>标签之间。
WML 的“deck”或者 WML 文件是指 decks。每个 deck 包含一个或者更多的 card。每个 deck 都以<wml>开
始 和 结 束 。 并 且 每 个 card 都 以 <card> 开 头 或 者 结 束 。
当 WML 微型浏览器处理 WML 文件或者 deck 的时候,它阅读整个 deck,并且在 deck 内的各个 card 之
deck 。
<wml>
<card id="start_menu">
...some code...
</card>
第 15 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
<card id="purchase">
</card>
</wml>
使用两个在一起的美元符号来表示,即“$$”。
“$”是一个特殊的字符,使用“$$”来显示一个“$”。
例如:
<p>
</p>
postfield 标签使允许提交参数到服务器端。注意有些早期的模拟器还不支持该标签,这将给开发工作带
来麻烦!
和 长 度 。
从 A 到 Z 的任何大写字母,没有数字或其他字符。
从 a 到 z 的任何小写字母,没有数字和其他字符。
任何 0 到 9 的数字。
从 A 到 Z 从 0 到 9 的任何字符。
从 a 到 z 从 0 到 9 的任何字符。
任何字符,输入默认从大写开始。
任何字符,输入默认从小写开始。
*f
nf
第 17 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
是转义输出字符。
格式化字符可以组合使用来表示一种特定的格式输入。但是强制一定的输入应当避免在用户出错的时候
没有提示信息。如果输入是不正确的,该填写的区域一般仍保持空白,直到让用户知道应该输入什么。如
跳 到 大 写 输 入 模 式 。 现 举 一 些 例 子 :
“N” 只 接 受 一 个 数 字 字 符 。
“*N” 接 受 任 何 数 字 字 符 。
“NN” 只 接 受 2 个 数 字 字 符 , 不 多 不 少 。
“ANN” 接受 一个 大写 字符 (没 有数 字) ,后 面跟 着两 个数 字, 不多 不 少 。
“X*N” 表 示 可 以 接 受 一 个 字 符 ( 没 有 数 字 ) 后 面 跟 着 任 意 多 的 数 字 字 符 。
“NNN\-NNN\-NNNN” 表 示 接 受 美 国 的 电 话 号 码 格 式 , 例 如 : “ 123-456-1234” 。
“2N\:2N\:2N” 表 示 接 受 时 间 格 式 , 例 如 : “ 12:02:34” 。
“NNNNNNNNN” 表 示 接 受 9 个 数 字 字 符 。
maxlength 参数控制着输入字符的总个数。
服 务 端 的 检 测 来 完 成 , 也 可 以 通 过 WML 来 完 成 。
在 WML 中 , 这 个 检 查 可 以 通 过 合 适 的 格 式 化 代 码 来 完 成 , 或 者 使 用 一 个 在 input 标 签 中 叫 做
或 者 value="" 用 户 仍 然 可 以 发 送 空 的 fields 。
提交 form。
form,。
第 18 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
项。
<select title="longselectlist">
<optgroup title="option1">
<option>option1-1</option>
<option>option1-2</option>
<option>option1-3</option>
</optgroup>
<optgroup title="option2">
<option>option2-1</option>
<option>option2-2</option>
<option>option2-3</option>
</optgroup>
<optgroup title="option3">
<option>option3-1</option>
<option>option3-2</option>
<option>option3-3</option>
</optgroup>
</select>
可以加入以下代码。
</prev>
</do>
更好的是使用 template。
……
第 19 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
<template>
</prev>
</do>
</template>
……
是的,WAP1.1 支持列表和相关的标记。
和 HTML 的工作方式很像,如下所示:
……
www.someserver.com/someurl?parameter1=value1&parameter2=value2
……
唯一的不同是将“&”变成“&”。
“myasp.asp?wmlvar=something”,可以使用下面的方法得到变量的内容。
dim aspvar
aspvar = Request.QueryString("wmlvar")
有过 Web 经验的人喜欢使用:
第 20 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
来强制浏览器自动更新。
以下的代码显示了如何自动转跳到另外一个卡片:nextdeck.wml。
<?xml version="1.0"?>
<wml>
<timer value="40"/>
</card>
</wml>
下面的代码将强制浏览器在一段时间后重新装入同一个卡片。这个页面叫做 loop.wml。
<?xml version="1.0"?>
<wml>
<timer value="40"/>
</card>
</wml>
1397 bytes/deck
准 , 根 据 浏 览 器 的 不 同 而 不 同 。 表 10-5 列 出 了 几 种 浏 览 器 的 限 制 。
第 21 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
但是压缩后可能比较小。
表 10-5 不同浏览器的限制
可能不支持这个特点。在这个时候是不知道是否有可能使用其他类型的验证方式。
浏览器请求一个 URL,它将提醒用户输入用户名和密码。这些都转换成无法直接阅读的字符,但不是加密。
也就是说如果网络上有人在使用合适的设备监听,那么用户名和密码将被泄露。
配置的说明:
htaccess 文 件 , 并 且 使 用 该 文 件 中 的 规 则 。 记 住 在 配 置 后 要 重 新 启 动 Apache 服 务 器 。
下一步是在目录里放置需要保护的文件叫做.htaccess。(注意点代表文件名的开头)。一个.htaccess 文件
的基本内容如下:
AuthType Basic
AuthUserFile /home/httpd/html/wap-faq/extras/auth/auth.passwd
require valid-user
第 22 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
定所想得到的操作。在这个例子中,任何在口令文件中的用户都有一个正确的口令。
序如下:
New password:
Re-type password:
注 意 : 在 第 一 次 创 建 文 件 的 时 候 , 必 须 使 用 “ -c” 选 项 。
现在加入了一个叫做“demo”的用户,并且输入了他的密码两次。考虑到安全的原因,口令文件不应该
放 在 文 件 根 目 录 下 。 笔 者 在 这 里 只 是 做 演 示 。
会 弹 出 来 询 问 用 户 名 和 口 令 。 如 果 一 切 顺 利 , 就 可 以 使 用 WAP 浏 览 器 来 测 试 了 。
器 来 做 测 试 。
这 个 例 子 同 样 可 以 通 过 输 入 http://wap.colorline.no/demos.html 来 得 到 。
或 者 只 要 点 到 保 护 的 区 域 :
http://wap.colorline.no/wap-faq/extras/auth/
或 者 查 看 .htaccess 文 件 。
最后点击查看口令文件的内容。
在 文 件 开 头 加 上 :
encoding="ISO-8859-1"?
或 者 :
encoding="UTF-8"?
锚/链接有时候包含了一些字母和数字之外的字符。典型的如:“~”(波浪号)和“&”(与号)。如果
转 义 。 即 使 指 定 了 字 符 集 , 也 是 没 有 用 处 的 。
字 符 实 体 是 某 些 特 殊 字 符 的 标 准 名 字 , 例 如 : “ &” 就 是 “ &” 。
大多 数浏 览器 在反 编码 名字 实体 的时 候会 出现 问题 ,例 如 Nokia 列 出了 7 个兼 容的 名字 实体 :
“quot”、“amp”、“apos”、“lt”、“gt”、“nbsp”和“shy”。只有在使用它们的十进制代码的时候(在上述所
溃 。
该 列 表 在 http://wap.colorline.no/wap-faq/apps/charentref.html 。
这 个 表 同 样 有 一 个 例 子 在 : http://wap.colorline.no/demos.html 。
符 号 。 从 这 里 就 可 以 看 到 哪 个 字 符 浏 览 器 可 以 显 示 。
35. 可能在 WML 页面上 显示一个 可选的 Link 吗?当用户 选择后就 可以直接 拨号?
Motorola:Motorola ADK。
第 24 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
型 ) 。 移 动 电 话 会 通 过 坐 落 在 本 地 的 网 关 连 接 到 你 的 服 务 器 上 。
但是在网关上驻留开发者的程序有很多好处。既然开发者的程序是网关的一个部分,开发者就可以知道
呼叫号码、身份、位置等等。
不能。
用 处 。 但 是 , 越 来 越 多 的 开 发 工 具 在 加 入 对 WML 的 支 持 。
Allair 的 Cold Fusion 4.5 和 HomeSite 已经有 WML 支持,虽然 Allair 也许需要清除一些 BUG。另外 PHP
和 ASP 在 Coldfusion/HomeSite 也 能 支 持 。
注意至少要使用 2 个换行。
第 25 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
<CFCONTENT type="text/vnd.wap.wml">
制 在 WML 微 型 浏 览 器 可 接 受 的 范 围 内 。
<?
// header("Content-type: text/vnd.wap.wml");
echo("<?xml version=\"1.0\"?>\n");
//"http://www.wapforum.org/DTD/wml_1.1.xml\">\n\n");
?>
出 每 个 人 的 花 费 。
应用生成一个动态的页面叫做“calc”或者“input”。注意到所有的转义字符例如双引号。该页显示了一个
简 单 的 变 量 处 理 , 和 如 何 传 递 参 数 到 另 外 的 卡 片 :
使 用 WML 浏 览 器 就 可 以 测 试 应 用 程 序 :
http://wap.colorline.no/wap-faq/apps/pizzacalc.html 。
或 者 输 入 :
http://wap.colorline.no/demos.html 选择应用。
第 26 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
<?
header("Content-type: text/vnd.wap.wml");
echo("<?xml version=\"1.0\"?>\n");
\"http://www.wapforum.org/DTD/wml_1.1.xml\">\n\n");
echo("<!-- It was unfortunately not possible to emulate the crap interger handling of the
?>
<wml>
<?
if($action == "calc") {
echo("<go href=\"pizzacalc.html#input\"/>\n");
echo("</do>\n");
echo("<p>\n");
}
else {
echo("<p>\n");
<go href=\"pizzacalc.html?total=\$(total)&eaters=\$(eaters)&action=calc\"/>
</anchor>\n");
echo("<br/>\n");
}
第 27 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
?>
</p>
</card>
</wml>
面 的 开 头 正 确 设 置 MIME 类 型 :
response.setContentType("text/vnd.wap.wml");
子请参考 Luca Passani's WAP and ASP articles。或者查看 Jean-Luc Praz's (jeanluc@corobori.com)。更多的 ASP
例子在:http://www.corobori.com/wap/。
<Response.ContentType = "text/vnd.wap.wml">
后就可以工作了。
<%Response.ContentType = "text/vnd.WAP.WML"%>
<?xml version="1.0"?>
那 么 严 格 。
(例如:空格,回车,换行)。注意到有些网关可能会修正这些问题,但有的则不管(例如: CMG 网
关 ) 。
<%Response.ContentType = "text/vnd.wap.wml"%>
<?xml version="1.0"?>
行 将 会 出 现 问 题 。
最简单的解决办法是:
是<%=MyVar%>。
\"http://www.wapforum.org/DTD/wml_1.1.xml\">\n";
print "<wml>\n";
……
其 实 需 要 的 只 是 Text 编 辑 器 。 但 是 使 用 一 个 开 发 工 具 可 以 节 约 很 多 时 间 。
第 29 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
在 这 之 前 应 该 浏 览 一 下 WAP 的 权 威 站 点 : www.wapforum.com 。
在 Nokia WAP 开发论坛中进行注册,并且下载 Nokia WAP Developer Toolkit 。Toolkit 中的 PDF 文件可以
给出一定的 WML 和 WMLScript 指导。Nokia Toolkit 需要 JRE (Java Runtime Environment) v.1.2.2 或者更高
版 本 。
模 拟 器 。
Phone.com 提 供 UP.SDK 。 在 注 册 之 后 就 可 以 下 载 。
Motorola 有一个平台叫做 Mobile Internet eXchange 或者 MIX 。Mobile Application Development Kit 已经
http://www.motorola.com/MIMS/MSPG/cgi-bin/spn_madk.cgi.
件 来 编 辑 WML 标 签 。
如果在开发公共应用程序时,想在很多设备上测试你的程序,就像在不同的浏览器上测试 HTML 页面
首 先 确 定 WML 代 码 是 正 确 的 , 然 后 再 使 用 WML 测 试 工 具 。
写的。里面还有其他的工具可供下载。
第 30 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
操作 WML 页面或者卡片,最简单的办法是通过现有的网关。大多数移动电话提供者将功能都放在主页
浏 览 器 读 取 内 容 的 过 程 一 样 。
自己的站点。像这样的做法是不明智的,这样会发现自己的用户去其他地方了。
后 , 页 面 将 从 服 务 器 下 载 , 而 不 是 从 WAP 设 备 的 缓 存 读 取 。 这 个 过 程 被 称 做 Cache 。
但是有些时候不想让页面从缓存中读取,而是从服务器端读取。一个典型的例子就是当服务器的内容不
在 页 面 里 , 既 然 是 HTTP 的 信 息 头 , 就 不 是 WML 元 素 。
看 本 部 分 的 最 后 的 例 子 。
Pragma: no-cache
第一行告诉微型浏览器,页面已经过期一段时间了。第二行告诉浏览器页面最后一次修改的时间。DD 应
该换成当天的日期,month YY HH MM SS 等等类推。第三行和第四行有同样的效果。告诉浏览器页面不被
第 31 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
<?
header("Content-type: text/vnd.wap.wml");
header("Pragma: no-cache");
?>
Response.ContentType = "text/vnd.wap.wml"
Response.Expires = -1
End Sub
<%
Response.ContentType = "text/vnd.wap.wml"
第 32 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
Response.Expires = -1
%>
<?xml version="1.0"?>
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
</head>
<card id="alwaysexpire">
</card>
</wml>
<?xml version="1.0"?>
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
</head>
<card id="expire1day">
</card>
</wml>
有些浏览器例如:UP.Simulator 如果可以通过“返回”达到另外一个卡片,那么它将不会重新装载卡片。
第 33 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
一遍又一遍,但是需要不同的内容。有些浏览器,例如:Nokia 7110,就会存在类似的在该清除的时候无
法 清 除 的 问 题 。
当 newcontext="true" 时清除所有的变量。但是这样也清除了所有导航的历史记录,这意味着 back 按钮
不 再 工 作 。
为了清除变量,可以告诉浏览器将变量设为空:
但是,不是每个时候都有效果。在某些情况下必须使用一个难以想象的方法来清空变量。就是使用
onenterforward 事件。
<onevent type="onenterforward">
<refresh>
</refresh>
</onevent>
<?
// the first characters in the file must be the <? PHP tag.
第 34 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
$htmlredirect = "/html/my_htmlpage.html";
$wmlredirect = "http://wap.mysite.com/wml/my_wmldeck.wml";
if(strpos(strtoupper($HTTP_ACCEPT),"VND.WAP.WML") > 0)
$br = "WML";
}
else {
$browser=substr(trim($HTTP_USER_AGENT),0,4);
$browser=="UP.B" || // UP.Browser
{
$br = "WML";
}
else {
$br = "HTML";
}
}
if($br == "WML") {
header("Location: ".$wmlredirect);
exit;
}
else {
header("Location: ".$htmlredirect);
exit;
}
?>
的 WML 浏 览 器 , 那 么 ID 字 符 串 也 要 增 加 。
Amaro ( donamaro.concepcion@nl.unisys.com ) 提 供 的 列 表 。
“ WapI” 来 代 替 是 可 行 的 做 法 , 也 是 足 够 的 。
第 36 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
MIME 类型。另外以下的脚本辨别的方式和上面不一样。另外还需要网关告诉服务器它能接收 的
<%
Response.Buffer = TRUE
Dim IsWap
httpAccept = LCase(Request.ServerVariables("HTTP_ACCEPT"))
if Instr(httpAccept,"wap") then
IsWap=1
End if
%>
<%Response.Flush%>
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="redirect">
<onevent type="onenterforward">
<go href="/index.wml"/>
</onevent>
<p>
<a href="/index.wml">enter</a>
</p>
</card>
</wml>
<%Response.Flush:Response.End%>
第 37 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
判断用户代理是什么类型的。
不可以,除非网关支持这个特点,WAP 没有办法知道用户的电话号码。
例如:
WMLScript: WTAPublic.MakeCall("9287787");
码 可 能 无 法 读 取 。 同 时 , 在 某 些 国 家 这 还 涉 及 到 个 人 隐 私 的 问 题 。
话 号 码 。 Ericsson 网 关 将 传 送 一 个 辨 别 设 备 用 的 字 符 串 , 但 是 在 明 文 中 没 有 电 话 号 码 。
(http://wap.colorline.no/clientinfo.html) 。 其 他 的 例 子 也 可 以 在 下 面 的 UTL 中 找 到 :
http://wap.colorline.no/demos.html
<?
header("Content-type: text/vnd.wap.wml");
echo("<?xml version=\"1.0\"?>\n");
\"http://www.wapforum.org/DTD/wml_1.1.xml\">\n\n");
?>
第 38 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
<wml>
<p>
<?
$headers = getallheaders();
}
// Request Method
// Connection type
?>
</p>
</card>
第 39 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
</wml>
头的信息、服务器环境和用户的浏览器等等。有关这个工具的详细情况可以浏览 http://wap.gemal.dk/
http://wap.colorline.no/wap-faq/apps/subnotest.wml , 同 样 也 收 集 在 : http://wap.colorline.no/demos.html.
这些程序只适合某个网关。如果要测试其他的网关,可能就显示不出电话号码。因此电话号码不能作为
ID 号来处理。至少因为不是一个全球的标准。
在某些情况下,当在显示了一连串的号码之后,需要中断功能连接到一个电话号码上并拨号。例如:执
行 一 个 dial:12345678 就 非 常 像 mailto: 标 签 。
关闭连接并且拨号:
然后用户可以选择进行呼叫。注意用户必须分离这些数字以便它能正常工作。
GET 请 求 限 制 在 970 左 右 , 最 大 可 以 达 到 一 个 编 译 后 卡 片 的 大 小 。
显然,卡片有时候保存了要发送给服务器的参数的内容,既然编译后的卡片大小有限制,那么肯定要
影 响 到 整 个 所 能 传 输 的 数 据 。
<p>
<anchor>Send it
</anchor>
第 40 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
</p>
<p>
<anchor>Send it
</go>
</anchor>
</p>
直接改为 POST:
<p>
<anchor>Send it
</go>
</anchor>
</p>
最好是做测试找到到底能传输多少数据。这里有个测试程序:
http://wap.colorline.no/wap-faq/apps/putsize.php3。
这 个 程 序 也 可 以 在 下 面 的 URL 中 找 到 : http://wap.colorline.no/demos.html 。
是 POST 。 在 传 输 之 后 , 脚 本 将 要 显 示 接 收 到 的 字 符 个 数 。
<?xml version="1.0"?>
"http://www.wapforum.org/DTD/wml_1.1.xml">
第 41 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
<wml>
<head>
</head>
<card>
<go href="putsize.php3"/>
</do>
<p>
<anchor>GET data
<postfield name=\"a\"
value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
</go>
</anchor>
</p>
</card>
</wml>
如果使用:
并且使用:
样 的 问 题 。 这 个 问 题 主 要 是 存 在 于 网 关 或 接 收 方 。
第 42 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
意 ! 需 要 在 变 量 中 输 入 一 些 内 容 ) 。
wapHQ 网 关 。
的字符串。在某些情况下字符串可能有附加的数据,例如:charset="utf8" 。既然服务器端不是精确的匹配,
它 就 不 会 查 看 HTTP 头 , 因 此 POST 就 变 量 丢 失 了 。
注 意 这 不 是 浏 览 器 的 问 题 , 在 HTTP 头 加 入 字 符 集 描 述 , 将 造 成 脚 本 语 言 方 面 的 错 误 。
form-urlencoded 的输出,检查有没有附加的字符在结尾部分,如果有,那么这就是服务器端的问题。
解决这个问题的方案很复杂,它随用户使用的脚本描述语言不同而不同,而且需要操作原代码。简单地
说 , 解 决 方 案 就 是 需 要 人 工 读 取 HTTP 头 , 不 要 使 用 脚 本 语 言 已 经 写 好 的 读 取 方 式 。
需要的变量。
Dim lngToalByteCount
Dim vntRequestData
lngTotalByteCount = Request.TotalBytes
vntRequestData = Request.BinaryRead(lngTotalByteCount)
全部的代码,就应该像下面的代码:
<%
For i = 1 To Request.TotalBytes
Temp = Request.BinaryRead(1)
Next
sWMLDeck = sWMLDeck & "<!DOCTYPE wml PUBLIC ""-//WAPFORUM//DTD WML 1.1//EN"" "
sWMLDeck = sWMLDeck & vbCrLf & "<wml>" & vbCrLf & vbTab
sWMLDeck = sWMLDeck & vbTab & vbTab & "<p>" & vbCrLf
sWMLDeck = sWMLDeck & vbTab & vbTab & vbTab & "myVar1: " & sVar1 & "<br/>" & vbCrLf
sWMLDeck = sWMLDeck & vbTab & vbTab & vbTab & "myVar2: " & sVar2 & vbCrLf
sWMLDeck = sWMLDeck & vbTab & vbTab & "</p>" & vbCrLf & vbTab
Response.ContentType = "text/vnd.wap.wml"
Response.Write(sWMLDeck)
'Quick function for picking out the values of the POSTed variables.
Dim sRetVal
End If
End If
getVar = sRetVal
End Function
%>
最常使用的 META 是:
"/cgi-bin/somescript?username=john&telephone=123-123-1234&occupation=banana+bender"
第 45 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
正确的格式应该是:
"/cgi-bin/somescript?username=john&telephone=123-123-1234&occupation=banana+bender"
<p>
<anchor>Send this
<go href="/cgi-bin/somescript?username=$(username)
&occupation=$(occupation)"/>
</anchor>
</p>
是的。但这是服务器端的特点,与客户端没有关系。
这的确是一个事实。核心的问题是在服务端的脚本语言,而不是在服务端语言和服务器之间。
第 46 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
这 个 类 型 。
的 Web Server,或者其他的脚本语言,需要能转换这些简单的脚本。关键的工作是十分简单的,除非需要,
所有的代码例子可以在线测试。如果它们能够工作,用户将被重新引导到
<?
header("Location: http://wap.colorline.no/clientinfo.html");
header("Content-type: text/vnd.wap.wml";
?>
<%
Response.Redirect = "http://wap.colorline.no/clientinfo.html";
Response.ContentType = "text/vnd.wap.wml";
Response.Flush
Response.End
%>
方 式 来 处 理 。
Alex Kriegel 提供了一个安装在 WAPlinks 的 Custom Session Object 包。这个 zip 文件中包含了 VB 类的文
第 47 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
另 外 一 种 方 法 是 使 用 PHPlib , 它 是 使 用 PHP 编 写 的 。
和注释可以到下面地址下载:
http://wap.colorline.no/wap-faq/archive/phplib_wml.zip
实 际 上 Phone.com 的 UP.Link 网 关 已 经 支 持 这 个 功 能 有 一 段 时 间 了 。
可 以 使 用 以 下 的 脚 本 语 言 检 测 Cookie-support , :
http://wap.colorline.no/wap-faq/apps/cookietest.php3
脚 本 在 http://wap.colorline.no/demos.html 也 可 以 得 到 。
量来强制自己加载(笔者不推荐这种强制加载办法)。当点击增加计数连接,页面将重新加载,卡片就再
次 出 现 , 并 且 记 数 器 变 成 1 。
被 传 送 。
程 序 无 法 知 道 。
<?
if(isset($HTTP_COOKIE_VARS["TestCookie"]))
第 48 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
$cookieid = $HTTP_COOKIE_VARS["TestCookie"];
$cookieid++;
}
else {
$cookieid = 0;
}
setcookie("TestCookie",$cookieid);
header("Pragma: no-cache");
echo("<?xml version=\"1.0\"?>\n");
\"http://www.wapforum.org/DTD/wml_1.1.xml\">\n\n");
echo("<!-- This application attempts to test the capabilities of a WAP gateway to support cookies -->\n");
$random = mt_rand(100000,999999);
第 49 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
?>
<wml>
<head>
</head>
<p>
</p>
<p>
<anchor>
Increase value
</anchor>
</p>
<p>Gateway:
<?
if(isset($HTTP_VIA))
echo($HTTP_VIA);
}
else {
if(isset($HTTP_USER_AGENT))
echo($HTTP_USER_AGENT);
}
else {
第 50 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
echo("Unknown");
}
}
?>
</p>
</card>
</wml>
在 HTML 中有一个默认的 E-Mail 机制:“ mailto:” 。但在 WML 中不好使,因此 E-Mails 必须通过
WML 表单来解决。例如:
<wml>
<p>
</go>
</anchor>
</p>
</card>
</wml>
成 E-Mail 格 式 并 发 送 出 去 。
第 51 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
如果想使用一个类似于发信的过程,就需要编辑变量名。另外发送的数据是有限的,长信息可能需要打
断 。
否发出信件。在真实的应用中,应该加入检测,例如:E-Mail 的合法格式。
<?
header("Content-type: text/vnd.wap.wml");
echo("<?xml version=\"1.0\"?>\n");
\"http://www.wapforum.org/DTD/wml_1.1.xml\">\n");
$mailer = "wap.colorline.no";
// Add the from field and some character handling to the extra headers
charset=iso-8859-1\nContent-Transfer-Encoding: 8bit";
echo("<wml>\n");
if(mail($to,$subject,$body,$extraheaders))
echo("</card>\n");
}
else {
echo("</card>\n");
}
echo("</wml>\n");
?>
因为安全性的原因,以上的代码没有演示程序。
的 WAP 模 拟 器 也 会 取 得 权 限 来 访 问 Internet 。
注意到有些模拟器不支持代理服务器,但是大多数是支持的。在模拟器里面设置这些是很简单的。用户
所 做 的 只 需 要 将 代 理 主 机 的 名 字 、 IP 地 址 和 端 口 号 输 入 就 可 以 了 。 如 果 没 有 找 到 , 你 可 以 在
systems/network 管 理 器 里 面 设 置 这 些 , 也 可 以 检 查 Netscape/IE 的 设 置 。
理 服 务 器 , 用 户 应 该 能 告 诉 模 拟 器 相 关 的 代 理 配 置 。
以避免更多的麻烦。
数 据 , 而 不 需 要 用 户 来 请 求 。
当前只有 WAP 1.2 开发平台支持 PUSH , 例如 Nokia Toolkit 2.0 。 Nokia Toolkit 2.0 only 内部支持
第 53 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
示 错 误 信 息 的 。
这 里 至 少 有 一 个 。
包 括 WML 二 进 制 编 译 和 反 编 译 。
译器工作。
http://www.webtechniques.com/archives/2000/03/passani/
行独立的设计,创建和管理,减少相互之间的影响,增加工作的可复用性以及缩短上市的时间。Web 内容
XSL 来 将 它 们 混 合 。 ”
第 54 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
54. 想让用户只 要简单地 按下一个 按钮就能 够转跳到 其他卡片 而不是通 过选择 URL,这个 可能吗 ?
不,不可能。
四、 关于 WMLScript 的常见 问答
http://updev.phone.com/dev/ts/beta/docs/wmlscript/
五、 关于 WBMP 的常见 问答
1. 如何创 建 WBMP?
第 55 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
RCP 分发系统有 Adobe Photoshop 5.x 和 PaintShop Pro 的插件支持 WBMP 格式。GINGCO 和 Teraflops 提
供转换的工具。
考 :
http://www1.wapforum.org/tech/terms.asp?doc=SPEC-WAESpec-19990524.pdf
可 以 试 试 :
NetPBM : ftp://wuarchive.wustl.edu/graphics/graphics/packages/NetPBM/
PBMtoWBMP:http://www.looplab.com/WAP/tools/
设备。
6. 有一个 WBMP 图片在 Nokia Toolkit 上能正 常运行, 但是在 Nokia 7110 上却不能是 为什么?
7110 不支持图像作为链接。
图 形 , 为 了 适 合 这 个 协 议 , 必 须 转 换 成 WBMP 。
了 整 个 屏 幕 。 另 外 受 WAP 电 话 的 内 存 限 制 , 图 像 的 大 小 不 能 超 过 1461 字 节 。
第 56 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
显 示 图 像 的 WAP 设 备 。
有 MS-DOS/Windows 和 Linux 版 本 。
http://download.macromedia.com/pub/fireworks/xtras/wbmp_im_ex.exe
Mac 版 本 在 :
http://download.macromedia.com/pub/fireworks/xtras/wbmp_im_ex.hqx
WebCab.de 有 一 个 非 常 漂 亮 的 在 线 WBMP 编 辑 器 :
http://webcab.de/woe.htm
它能让你通过手工草稿生成、上传并编辑 WBMP。如果只有服务器端的脚本语言程序,但是无法产生动
态 的 WBMP , 这 是 唯 一 的 选 择 。
http://www.jasc.com/download.html
http://www.applepiesolutions.com/image2.wbmp/
如 果 指 定 用 户 想 转 换 的 文 件 的 URL 地 址 , 它 将 让 用 户 下 载 转 换 后 的 文 件 。
LCD 显 示 器 。 C 版 本 可 以 作 为 CGI 。 应 用 程 序 可 以 到 下 面 的 位 置 找 到 :
http://members.xoom.com/leiradel/。
9. 如何实 现动画?
<ontimer> 标 签 来 创 建 一 个 。 请 注 意 这 种 方 式 不 是 能 达 到 想 象 中 效 果 的 。
http://wap.colorline.no/demos.html
或 者 到 :
http://wap.colorline.no/wap-faq/apps/anim.html
当在执行这样的动画方式的时候,要记住微型浏览器的内存是有限制的。不可能将所有的图片都装入到
内存中。浏览器也不会装入那些过大的图片,因此某些动画可能在装入的时候就中断了。
演示程序:
<?xml version="1.0"?>
"http://www.wapforum.org/DTD/wml_1.1.xml">
<!-- Code written in Microsoft NOTEPAD.EXE. (c) Espen Lyngaas 2000 Color Line ASA -->
<wml>
<timer value="10"/>
<p>
</p>
</card>
<timer value="10"/>
<p>
</p>
</card>
<timer value="10"/>
<p>
</p>
</card>
<timer value="10"/>
第 58 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
<p>
</p>
</card>
<p>
<anchor>run it again.
<go href="#image1">
</go>
</anchor>
</p>
</card>
</wml>
如果使用 PHP,可以看看更简单的程序:
<?
header("Content-type: text/vnd.wap.wml");
echo("<?xml version=\"1.0\"?>\n");
\"http://www.wapforum.org/DTD/wml_1.1.xml\">\n\n");
echo("<!-- Code written in Microsoft NOTEPAD.EXE. (c) Espen Lyngaas 1999 Color Line ASA -->\n");
?>
<wml>
<?
for($card=1;$card<5;$card++) {
echo("<timer value=\"10\"/>\n");
echo("<p>\n");
第 59 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
echo("</p>\n");
echo("</card>\n");
}
?>
<p>
<anchor>run it again.
<go href="#image1">
</go>
</anchor>
</p>
</card>
</wml>
WBMP 只有两种颜色,要是图片漂亮需要一定的技巧。但是可以减少图片的颜色。这里有一个叫做
支 持 WBMP 的 转 换 。
下 面 有 一 个 PHP 的 例 子 来 说 明 使 用 脚 本 语 言 来 完 成 的 过 程 。
” 将 PNG 或 者 转 换 成 WBMP , 它 能 在 两 者 之 间 相 互 转 换 , 并 适 合 于 多 种 平 台 。
的 ImageGreate() 创 建 一 个 空 白 的 GIF/PNG 图 像 。
以下是代码:
第 60 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
<?
$blank = "./wapclock_blank.gif";
$input = "/tmp/wapclock.gif";
$output = "/tmp/wapclock.out";
$convert = "/usr/local/bin/convert";
if($format == "gif") {
header("Content-type: image/gif");
$type = "GIF";
}
else {
if($format == "wbmp") {
header("Content-type: image/vnd.wap.wbmp");
$type = "WBMP";
}
else {
header("Content-type: text/plain");
$type = "";
}
}
header("Pragma: no-cache");
$im = imagecreatefromgif($blank);
$time = date("H:m:s");
imagestring($im,4,6,15,$time,0);
ImageGif($im,$input);
ImageDestroy($im);
if(strlen($type) > 0) {
// do the conversion
}
else {
// or do nothing
echo("Unknown format!\n");
// and stop
exit;
}
$contents = fread($fd,filesize($output));
fclose($fd);
echo($contents);
?>
<?
header("Content-type: text/vnd.wap.wml");
echo("<?xml version=\"1.0\"?>\n");
\"http://www.wapforum.org/DTD/wml_1.1.xml\">\n\n");
echo("<!—Code written in Microsoft NOTEPAD.EXE. (c) Espen Lyngaas 2000 Color Line ASA à \n");
?>
<wml>
</do>
<p>
<img src="http://wap.colorline.no/wap-faq/apps/gfxclock.html?format=wbmp"
</p>
</card>
</wml>
WAP 设备的显示状况千差万别,有些支持图形,有些只支持文本。下面给出一些型号的屏幕尺寸:
一 个 实 际 宽 高 比 为 1:1.25 的 长 方 形 , 对 于 圆 来 说 也 是 一 样 。
而 且 自 动 换 行 是 默 认 的 方 式 。
Ed Chew ( Ed.Chew@scoot.co.uk ) 检验过 “ R380 Design Guideline for WAP Services” , 并且发现在
98 像 素 。
有一个分辨矩阵的演示程序。 页面将显示三个不同大小的图像,一个垂直和一个水平,它们是一个方向
上十个像素,另外一个方向上只有一个像素,这样你马上就能知道屏幕到底有多大。另外他们的大小是:
由于有些显示器的点是长方形的,而不是正方形的,所以开发人员需要重新影射图像,让他们看起来
连 接 到 服 务 器 上 了 。
首先需要一个能够撑满屏幕的透明图片,因此它们是一个像素宽,并且和显示屏幕具有相同的高度。将
<wml>
<timer value="10"/>
<p align="center">
</p>
第 64 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
</card>
<timer value="10"/>
<p align="center">
</p>
<p align="center">
</p>
</card>
<timer value="10"/>
<p align="center">
</p>
<p align="center">
</p>
</card>
<timer value="10"/>
<p align="center">
</p>
<p align="center">
</p>
</card>
<timer value="10"/>
<p align="center">
</p>
</card>
<timer value="10"/>
<p align="center">
</p>
</card>
</wml>
图像可以使用<img>标签来指示。大多数无法显示的情况是因为错误地使用了<img>语法。这个标记至少
容,并且在最后有反斜杠结尾。
“ image/vnd.wap.wbmp” 。
能 具 有 将 HTML 文 件 转 换 为 WML 页 面 的 功 能 。
置 信 息 等 等 。
运 商 那 边 的 WAP 设 备 。
除了集成的 WAP Gateway ,WAP Server 不比普通的 Web Server 多太多。笔者个人认为“ WAP server”这
第 67 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
以 由 任 何 普 通 的 Web Server 提 供 。
的 安 全 漏 洞 。
用 程 序 对 加 密 数 据 流 有 完 全 的 控 制 能 力 。
4. WAP 网关是一个 像 Server 那样的物理 设备吗? 它是在 Internet 提供商 还是移动 提供商那 边?
WAP Gateway 是一个 WinNT 或者 Linux 机器上运行的 WAP Server 软件。它可以在 Internet 上的任何位
只要能通过拨号访问到网关的 IP 地址,在哪儿都是一样。
在很多情况下用户可能想使用多个网关来测试应用程序。因为他们以不同的方式工作。所以可能需要连
接 到 其 他 的 网 关 , 而 不 仅 仅 使 用 由 移 动 营 运 商 提 供 的 网 关 。
WAPdrive.net 有 一 个 个 非 常 好 的 公 共 网 关 列 表 :
http://www.wapdrive.net/DOCS/wap_gateways.htm
这里面有一些没有公布的网关。如果 IP 地址以“10.”开头,那么网关就是私有的,是营运商自己的。其
他 IP 地址的网关,也不一定就是公共网关。
第 68 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
网 关 将 名 字 和 版 本 名 称 写 在 这 里 面 。
如 果 用 户 来 自 Nokia 或 者 爱 立 信 的 网 关 , 那 么 User_Agent 就 像 下 面 的 :
EricssonR320/R1A
如 果 用 户 来 自 UP.Link 网 关 , 就 如 同 下 面 的 :
EricssonR320/R1A UP.Link/4.1.0.1
它们清楚地显示了网关的类型和版本。从这里可以清楚的知道用户所使用的网关类型和版本。
1. 什么是 微型浏览 器?
或者其他合适的操作系统。
如何测试浏览器的方法在以上的文章中有讲述。因此现在是需要一个很大的代理列表。这个列表将帮助
检 测 浏 览 器 的 类 型 。
的 描 述 。
件 , 虽 然 它 是 以 .PHP3 结 尾 。 )
这个文件可以随便拷贝。
第 69 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
发 送 了 什 么 样 的 HTTP 头 。 许 多 设 备 都 这 样 。
<wml>
<p>
<?
switch(substr($HTTP_ACCEPT_LANGUAGE,0,2)) {
case "en":
break;
case "no":
break;
case "sv":
break;
default:
}
?>
</p>
</card>
</wml>
也 保 证 了 技 术 快 速 的 发 展 。
许多设备都无法完全遵循协议,虽然在许多情况下这种差别不是很大。同样有些设备还增加了一些 WAP
开 发 者 需 要 的 特 别 功 能 。
个 简 单 的 Flash 。 Benefon 的 支 持 要 好 的 多 , 可 以 去 他 们 的 开 发 区 看 看 。
正 确的 顺序 。例 如 HTML 比 WML 优 先。 如果 浏览 器检 测代 码是 没有 问题 的, 就应 该没 有问 题。
WMLC 。
MME 同样支持 JPEG 和 GIF 格式和 WBMP 。另外, MME 发送 HTTP 头中有一个 HTTP-DISPLAY-
AREA 来 告 诉 内 容 提 供 服 务 器 的 屏 幕 大 小 。
Mozilla/1.22 ( compatible;MMEF20;CellPhone ) 。
在很多情况下是不行的。许多浏览器支持标签来改变字体的为黑体、斜体或者大小。但是字体的类型是不
会 改 变 的 。 到 现 在 还 没 有 看 到 这 样 的 浏 览 器 出 现 , 也 没 有 这 样 的 WML 标 签 出 现 。
方 式 来 制 作 和 使 用 WBMP 图 片 。 这 个 工 具 是 免 费 的 , 现 在 它 支 持 六 种 不 同 的 字 体 。
接 。
详细说明。
比较好。
后,再进行上网设置密码。
“/”符号可以通过按“*”,其他符号可以滚动到与其配的符号找到。
http://www.anywhereyougo.com/wap/devices/Index.po
Number”功能。
CSD 信道,则需要按照时间付费。
第 73 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
大约是 40 k。
注 意 这 里 的 列 表 是 目 前 的 状 态 。 里 面 有 些 信 息 不 一 定 正 确 。
来自制造商)
http://www.alcatel.com/consumer/mobilephone/view_dbwap.htm
http://www.alcatel.com/consumer/mobilephone/
http://www.alcatel.com/consumer/mobilephone/
http://www.alcatel.com/consumer/mobilephone/
http://www.alcatel.com/telecom/mbd/products/products/detailed/gsm/ot_view/index.htm
http://www.siemens.com/mysiemens/english/mobile/index.html
http://www.siemens.com/mysiemens/english/mobile/index.html
http://www.siemens.com/mysiemens/english/mobile/index.html
第 74 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
http://www.siemens.se/telefoner/mobiltelefoner/s25/
http://www.sony-europe.com/com/z5/index.html
http://www.nokia.com/phones/7110/index.html
http://www.nokia.com/phones/6210/index.html
http://www.nokia.com/phones/6250/index.html
http://www.nokiausa.com/beauty/1,1002,28,FF.html
http://www.motorola.com
http://www.motorola.com
http://www.motorola.com
http://www.motorola.com
http://www.motorola.com
http://www.ericsson.se/WAP/products/mc_218.shtml
http://www.ericsson.se/WAP/products/r380.shtml
第 75 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
http://www.ericsson.se/pressroom/r320a.html
http://www.palmpilot.com/
http://www.neopoint.com/products/index.asp
http://www.neopoint.com/products1600/index.asp
http://www.phone.com/news/Archive1999/031899_SAGEM.html
http://www.phone.com/solutions/alliances/samsung.html
http://www.phone.com/solutions/alliances/samsung.html
http://www.mobileaccessphone.com/products/index.htm
http://www.compaq.com/products/handhelds/
http://www.qualcomm.com/cda/technology/display/0,1595,,00.html
http://www.qualcomm.com/cda/technology/display/0,1595,,00.html
http://www.qualcomm.com/cda/technology/display/0,1595,,00.html
http://www.qualcomm.com/cda/technology/display/0,1595,,00.html
第 76 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
有 许 多 重 要 的 加 密 功 能 , 但 在 客 户 端 只 需 要 较 低 的 运 行 能 力 。
移动设备和服务器之间存在有两个安全问题:一个是从移动设备到网关;另一个是从网关到服务器。
是说是不安全的,窃听者可以通过截获空间散发的无线电波来窃取用户的口令和密码。
WAP 环境,但是 SSL 只用在 Web Server 和 WAP 网关之间。在 WAP 网关和 WAP 设备之间,有一个类似系
多 应 用 是 足 够 安 全 的 。 这 两 个 协 议 在 WAP 网 关 中 相 互 转 换 。
SSL 并不直接兼容 WTLS ,因此 WAP 网关要解密从 Web Server 过来的 SSL 保护数据流,然后使用
模型如下:
| |
<---WTLS--->{unprotected}<---SLL--->
|
第 77 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
运商)数据被解密。虽不能说所有的移动营运商都是危险的,但是将敏感数据暴露给不知道的第三方是很
不 让 人 放 心 的 。 任 何 一 个 营 运 商 的 问 题 将 是 所 有 营 运 商 的 问 题 。
模型如下:
| |
<---------------WTLS--------------->
| |
WAP 设 备 比 较 好 配 置 , 但 是 有 些 却 非 常 困 难 , 这 多 少 有 点 烦 人 。
Internet 上访问其他的设备,要么是无法打开所需求的端口。这样移动营运商就有效地阻止了用户使用其他
的 网 关 。
Wapforum's WTLS 协议
在解包以后,程序将挂起很长一段时间;
本 很 难 和 WAP 环 境 搭 配 。
当前笔者知道它在:http://www.bwl.uni-mannheim.de/~broeker/software.htm。
第 79 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
“ thisishenameofaverylongvariable” 的 变 量 , 那 么 包 含 的 内 容 将 更 少 。
type , 把 它 设 置 为 Continous , 那 么 将 发 送 更 大 的 变 量 内 容 。
只需要 Java 1.2 环境。如果想运行 100%纯的环境,例如在 Linux 下,还需要一个 Java XML 解释器。
2. WAP 的安全性如 何?
在 服 务 器 端 加 入 以 下 配 置 :
.WML text/vnd.wap.wml
.WMLC pplication/vnd.wap.wmlc
.WMLS text/vnd.wap.wmlscript
.WMLSC application/vnd.wap.wmlscriptc
.WBMP image/vnd.wap.wbmp
第 80 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
也 能 够 书 写 WAP 程 序 适 合 WML 浏 览 器 。
已 经 变 成 一 个 标 准 的 名 字 , wap 好 象 也 在 变 成 一 个 标 准 。 例 如 : “ wap.domain.com” 。
text/vnd.WAP.WML WML
text/vnd.WAP.WMLscript WMLs
image/vnd.WAP.WBMP WBMP
application/vnd.WAP.WMLc WMLc
application/vnd.WAP.WMLscriptc WMLsc
件 。
表 10-6 MIME 类型
MIME 类型 扩展名
文件类型
第 81 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
DirectoryIndex index.wml
以在 WAP 中的其他部分)。关于其他服务器,请参看它们的文档。
使 用 自 己 的 手 机 看 WAP 站 点 , 要 按 照 以 下 步 骤 进 行 :
ISP 只 允 许 一 次 一 个 连 接 , 有 的 允 许 多 个 。 这 个 要 根 据 实 际 情 况 来 确 定 。
输 入 机 器 的 IP 地 址 和 虚 拟 目 录 的 名 字 , 例 如 :
http://x.x.x.x/virtual_path/somepage.WML
使 用 一 个 公 共 的 网 关 的 IP 地 址 , 例 如 : Ericsson 。
现在就可以拨号,并激活以上设置。
也 必 须 让 用 户 输 入 用 户 名 和 密 码 , 提 交 后 标 记 结 果 页 给 用 户 这 样 一 个 URL 标 签 :
http://www.website.com/login.asp?user=bill&pass=secret
wap.com。
WAP 设 备 可 以 让 做 到 这 一 点 。
不 同 的 WAP 设 备 有 不 同 的 工 作 方 式 , 但 是 你 应 该 能 勾 勒 出 整 个 框 架 。
第 83 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
表 10-7 一些公共网关
提供商 IP 地址 网关类型
环 境 。
表 10-8 列出了一些浏览器的模拟器和相关的信息。
表 10-8 浏览器的列表
浏览器 环境
WinWAP Windows9x/NT
http://www.slobtrot.com/winwap/index.htm
Wapalizer Internet
http://www.gelon.net/ Explorer/Netscape
WAPman Windows9x/NT
第 84 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
http://www.wap.com.sg/downloads/downloads.htm
Servers ( AS5200 )到低端的基于 Microsoft NT Remote Access Service 和 Novell's Netware Connect 的软件
解 决 方 案 。
connections 》
WAP 设 备 。
第 85 页 共 86 页
WAP 常见问题问答大全(www.airchn.cn)
wap.mydomain.com 。
叫 做 www , 它 指 向 IP 地 址 。 当 某 个 人 想 访 问 站 点 的 时 候 , DNS 将 被 询 问 : “ 具 有 域 名 是
求 者 使 用 这 个 IP 地 址 来 操 作 站 点 。
wap.mydomain.com 将 接 收 到 WAP 主 机 的 IP 地 址 。
字 是 机 器 IP 地 址 的 代 表 。
第 86 页 共 86 页