J2ME開發中由WAP閘道器帶來的cookie問題

2021-08-23 15:19:12 字數 1885 閱讀 2862

j2me開發中由wap閘道器帶來的cookie問題

在之前的產品開發中,遇到乙個奇怪的問題,軟體在在cmnet下能正常工作,當用了cmwap時問題出來,後來問題找到了。在cmwap下,客戶端如果帶上cookie,有時會遇到無法正常登入等情況,下面簡單介紹其原因及解決辦法。

1、 cookie是如何工作?

一般來說,cookie通過http headers實現伺服器端與客戶端的互動。首先,伺服器端在響應中利用set-cookie header來建立乙個cookie ,然後,客戶端在它的請求中通過cookie header包含這個已經建立的cookie,並且返回至伺服器,從而完成瀏覽器的論證。

2、 cookie的作用

伺服器利用cookies包含資訊的任意性來篩選並經常性維護這些資訊,以判斷在http傳輸中的狀態。cookies最典型的應用是判定註冊使用者是否已經登入**,使用者可能會得到提示,是否在下一次進入此**時保留使用者資訊以便簡化登入手續,這些都是cookies的作用,cookie很好地解決了一些問題,但同時也帶來一些問題,如wap閘道器對cookie的處理問題。

3、 wap閘道器存在的問題

wap閘道器存在不少問題,其中之一如開發者最為頭疼的問題便是cookie的處理。由於不少低端手機瀏覽器本身不支援cookie,於是wap閘道器越俎代庖擔當起此重任--通過閘道器軟體使這些手機支援cookie,此僭越行為導致移動開發者無所適從,具體表現在:

a. 手機上清除cookie後仍有cookie

b. cookie會莫名其妙的丟失或者產生

c. 重複的cookie存在導致生成非法請求header

應該還有很多很細小的問題讓開發者頭疼,在網際網路上執行好好的機制移到wap上就會有這樣那樣的問題,這些問題更多集中在使用者登入、許可權控制等方面,問題如何解決呢?解決辦法是讓wap閘道器不儲存cookie,下面將講講在j2me中如何解決問題。

4、 j2me如何設定cookie與cookie問題處理

j2me設定cookie時,通過setrequestproperty 設定http頭資訊,**如下:

上面的**在直接連線互連網時沒問題,但在用cmwap連線互連網時卻會出現問題,我們以登入為例,有時cookies為空時也能正常登入,通過測試發現wap閘道器儲存了cookie,為了解決這個問題,我們必須讓wap閘道器不儲存cookie,解決的辦法是在http頭加上:

hc. setrequestproperty("x-wap-proxy-cookie","none");

通過測試,問題解決了!

說明:移動夢網文件: 有這樣一段描述

2.5.2  cookie規範

1. cookie一般情況下存放在使用者的手機上,若使用者手機不支援cookie功能,則wap閘道器將協助儲存使用者cookie資訊;

2. cookie可分為永久性cookie和暫時性cookie,通過手機與wap閘道器的配合,兩種cookie均可實現,可根據業務的需求選擇使用;

3. 暫時性cookie的儲存時間一般是1小時,可根據業務的需要自行指定;

4. 在遊戲、社群類業務中,涉及使用者身份識別的資訊應使用永久性cookie;

j2me如何通過cmwap直接訪問互連網

安裝jad時提示jad無效原因之一

j2me網路互動之優化

解決eclipse無法除錯j2me程式的配置方法

j2me模擬器載入rms時突然失效的原因

j2me飛信協議分析(初稿)

J2ME開發中由WAP閘道器帶來的cookie問題

j2me開發中由wap閘道器帶來的cookie問題 在之前的產品開發中,遇到乙個奇怪的問題,軟體在在cmnet下能正常工作,當用了cmwap時問題出來,後來問題找到了。在cmwap下,客戶端如果帶上cookie,有時會遇到無法正常登入等情況,下面簡單介紹其原因及解決辦法。1 cookie是如何工作?...

J2ME 開發工具

j2me wireless toolkit 手機廠商sdk wtk 的全稱是sun j2me wireless toolkit sun的無線開發工具包。這一工具包的設計目的是為了幫助開發人員簡化j2me的開發過程。該工具箱包含了完整的生成工具 實用程式以及裝置 器。a.wtk 2.2 目前各大手機廠...

J2ME中的分而治之

這兩天在研究j2me中setclip的用法.兩張切換時,如果是新的從內向外以矩形顯示,可以使用一次setclip設定繪製的矩形區域.但是,現在反回來,從外向內,以矩形框顯示,但是j2me裡面沒有這樣的方法,怎麼辦?有了,咱們給他來個分而治之,一次setclip不行,咱們可以分多次嘛.就現在的情況,可...