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