Wap中常見Asp+Wml問題整理

1. Asp動態生成Wml文件
ASP文件頭聲明如下:
<%
Response.ContentType= "text/vnd.wap.wml"
%>
含義如下:用於聲明此文件作爲wml文件處理。
程序舉例:
<%
Response.ContentType = "text/vnd.wap.wml"
%>
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapfourm.org/DTD/wml_1.1.xml">
<wml>
<card id="index" title="bicyle" newcontext="true">
<p align="center">
Wap文件實例<br/>
</p>
<p>
Bicyle祝願您在2005年實現心中的夢想。<br/>
<a title="確定" href="trywmls.asp">wml測試</a><br/>
<a title="確定" href="../index.asp">返回上級</a><br/>
<a   title="確定" href="http://wap.165e.com">返回互動河北</a><br/>
<a   title="確定" href="http://wap.uni-info.com.cn">返回首頁</a><br/>
</p>
</card>
</wml>
2. 利用Wap頁面進行直接撥打電話號碼
把下邊的代碼放到:<p></p>之間。
<input name="phone_no" format="*m" value="13"/>
<do type="option" label="呼出號">
<go href="wtai://wp/mc;$(phone_no)"/>
</do><br/>
或者直接寫入電話號碼的方式:
<a href="wtai://wp/mc;1331597312*">撥打電話</a>
3. Asp中Gb2312轉UTF-8程序
把下面的代碼粘貼到ASP+WMl的文件中。
<%
Function uni(Chinese)
For i = 1 to Len (Chinese)
a=Mid(Chinese, i, 1)
uni=uni & "&#x" & Hex(Ascw(a)) & ";"
next
End Function
%>
使用方法:
<a title="<%=Uni("確定")%>" href="bicyle/bikewap/index.asp"><%=Uni("歡迎光臨被愛可以")%></a><br/>
4. 關於Wap1.2的圖鈴下載
特舉一個河北聯通wap1.2下載舉例
圖片的下載:
<a title="確定" href="uplink:download?source=http://wap.165e.com/xx/http://gjmm.com/xxx/help/q.png&object=phone:wallpaper&size=4412&status=http://wap.165e.com/xx/xx.xx/http://gjmm.com/xxx/help/success.asp">download</a><br/>
若是鈴聲:
object=phone:ringtone

這個代理(http://wap.165e.com/xx)是聯通提供的,當然還可以有其他的代理。目的是隻有資格的cp/sp纔可以使用,並且利用它下載。
status=後邊的東西文件名可以隨意的。只要能夠讓手機訪問就可以。

我的下載後的status文件中關鍵的部分:
<%Response.ContentType = "text/vnd.wap.wml"
theresult=request("STATUS")
if theresult="OK" then
download_result="Bicyle提示您,圖片已經下載成功。"
else
download_result="非常抱歉,下載失敗。"
end if
%>
注意:"OK"一定是大寫的,否則下載成功了,也會提示您下載失敗。
其他的爲wml代碼。
在<P><%=download_result%><br/></P>顯示下載結果。另外這個文件要包含一些返回鏈接等。
5. 關於獲得手機號碼
舉例河北聯通手機號碼的獲得。只有被聯通批准的Sp/Cp纔可以。
PhoneNumber =Request.QueryString("phonenumber")
或:PhoneNumber =Request ("phonenumber")
其他參數無法獲得手機號碼的原因,可參考:
摘自聯通文檔

當用戶在使用SP提供的業務時,用戶的請求經過WAP平臺處理後,SP服務器收到HTTP請求獲取用戶的手機號碼和手機型號方法說明如下。
用戶手機號碼和手機型號均在HTTP的HEADER中包含,說明如下。
(1) 用戶手機號碼
由於手機號碼爲聯通公司內部資源,並且涉及到用戶個人隱私,如果SP的業務需要獲得用戶手機號碼,SP必須向中國聯通提出申請,經審覈通過後,中國聯通配置WAP平臺向SP服務器傳送手機號碼。用戶手機號碼分爲2類:
 加密的手機號碼:被加密的手機號碼,爲256爲字符,與手機號碼一一對應。HTTP HEADER名爲“deviceid”。
 公開的手機號碼,爲133開頭的11位數字:HTTP HEADER名爲“x-up-calling-line-id”。(考慮與WAP1.2一致,暫定)
(2) 手機型號
手機型號對應的HTTP HEADER名爲“user-agent”。
如Sanyo-SCP588對應的user-agent爲:Sanyo-SCP588CN/1.0 UP.Browser/6.2.2.4 (GUI) MMP/2.0
注意,同一個手機型號,由於瀏覽器版本的不同,可能出現多個不同的user-agent版本,SP可以進行模糊匹配。
6. 關於多個參數傳遞
在asp或wml文件中,多個參數的傳遞第一個變量前爲‘?’後面的參數聯接符號爲‘&’(&符號的UTF-8形式),另外注意中文參數不能直接被正確傳遞。所以傳遞的變量一定不能爲中文漢字或中文的符號。關於中文參數的傳遞,需要進行相應的編碼。
舉例如下:
<a href="site.asp?findid=bicyle&mypage=<%=iPageCurrent%>">被愛可以Wap站</a><br/>
接收的代碼:
TheSite=request.QueryString("findid ")
MyPage =request.QueryString("mypage ")
接收完參數後就可使用瞭如:<p><%=TheSite%></p>
7. 關於Wap1.2圖片格式問題
聯通的CDMA手機Wap1.2手機大部分支持的是Png格式的彩色圖片和Wbmp格式的圖片。
Png圖片要求:1、Png格式。2、256色。3、圖片大小要在15K以內爲佳。尺寸根據手機屏幕大小可定。如120*144像素
製作方法:可以利用Photoshop或Acdsee均可以。
對於Wap2.0支持的圖鈴格式比較多,可參見相關聯通移動文檔或手機說明。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章