2013-03-10 59 views
0

當我在Glassfish 3.1.2下的JAX-RS應用程序中調用HttpServletRequest getCookies()方法時,它總是在iOS設備(5和6)中返回null。HttpServletRequest getCookies()對於iOS設備總是返回空值

據我所知,我已經在iOS設備上啓用了Cookie,並且它們存儲在設備上,但是它們沒有發送請求。 Cookie在桌面瀏覽器上正常工作。

有關如何使cookie過來讓getCookies不返回null的想法?

+0

有關'domain'一個問題在cookie上設置,也許? – aroth 2013-03-10 05:03:45

+0

我不這麼認爲,如果是這種情況,我會認爲它不適用於桌面瀏覽器,是嗎? – TofuBeer 2013-03-10 05:08:34

+1

爲防萬一你還沒有這樣做,我想推薦使用Charles代理來正確調試你的設備的HTTP通信,並將它與似乎按預期工作的通信進行比較。 – Till 2013-03-10 06:18:33

回答

0

我想通了,事實證明,曲奇的路徑在開始時就缺少了/。一些瀏覽器拒絕它作爲無效,其他人接受它,但永遠不會返回它,其他人接受它並將其返回。

我終於用下面的代碼,以追查:

import org.apache.commons.httpclient.HttpClient; 
import org.apache.commons.httpclient.HttpMethod; 
import org.apache.commons.httpclient.methods.GetMethod; 


public class CheckCookies 
{ 
    public static void main(final String[] argv) 
     throws Exception 
    { 
     HttpMethod method; 
     HttpClient client; 

     method = new GetMethod(argv[0]); 
     client = new HttpClient(); 
     client.executeMethod(method); 
    } 
} 

哪拋出異常告訴我,該cookie是無效的,因爲它是不XXX/XXX

相關問題