j2me多个cookie

时间:2011-03-28 15:52:26

标签: cookies java-me

如何从j2me httpconnection读取具有相同键名的http多个响应头,如set-cookie? (使用getHeaderField(int i)遍历头文件也无法解决问题)。因为这个问题我试图在套接字连接上重写我自己的http客户端。但是jsr-185不允许套接字端口80,8080和443.使用它们应用程序应该签名。

2 个答案:

答案 0 :(得分:0)

使用getHeaderField(int i)循环遍历标头在WTK模拟器中适用于我。恕我直言,有些设备可以将此错误修复为:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4634244

答案 1 :(得分:0)

问题可以这样解决。在下面的代码中,我们正在提取" JSESSION"和#34; SOME_COOKIE",来自服务器的两个cookie使用相同的标题" set-cookie"。

String sessionID = "";
String someCookie = "";
String headerKey = "";
int indexField = 0;
while((headerKey = httpConnection.getHeaderFieldKey(indexField)) != null){
    String headerValue = httpConnection.getHeaderField(indexField);
    if(headerKey.equals("set-cookie")){
        //do something with the string
        if(headerValue.indexOf("JSESSION")>=0){//if "JSESSION" is present in the String
            sessionID = headerValue.substring(0, headerValue.indexOf(";"));
        }
        if(headerValue.indexOf("SOME_COOKIE")>=0){//if "SOME_COOKIE" is present in the String
            someCookie = headerValue.substring(0, headerValue.indexOf(";"));
        }
    }
    indexField++;
}