несколько файлов cookie - PullRequest
2 голосов
/ 28 марта 2011

как прочитать http-заголовки с несколькими ответами с таким же именем ключа, как set-cookie, из j2me httpconnection? (цикл через заголовки с помощью getHeaderField (int i) также не решил проблему). из-за этой проблемы я попытался переписать свой собственный http-клиент на сокетном соединении. но jsr-185 не позволяет сокетам использовать порты 80, 8080 и 443. Для их использования приложение должно быть подписано.

Ответы [ 2 ]

0 голосов
/ 26 января 2016

Проблема может быть решена следующим образом. В приведенном ниже коде мы извлекаем «JSESSION» и «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++;
}
0 голосов
/ 17 апреля 2011

Проход по заголовкам с помощью getHeaderField (int i) работает для меня в эмуляторе WTK. ИМХО, на некоторых устройствах эта ошибка может быть не исправлена: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4634244

...