cookie сервера = null - PullRequest
       3

cookie сервера = null

0 голосов
/ 26 ноября 2010

Я делаю аутентификацию и получаю пустой файл cookie. Я хочу сохранить этот файл cookie, но сервер не возвращает мне файл cookie. Но код ответа 200 хорошо.

httpConn.setRequestProperty(
    "Authorization", 
    "Basic " + Base64OutputStream.encodeAsString(
                   login.getBytes(), 0, login.getBytes().length, false, false)); 

String tmpCookie = httpConn.getHeaderField("set-cookie");

Это мой код.

String login = username + ":" + password;

String base = "http://mysever/login";
HttpConnection httpConn = null; 
httpConn = (HttpConnection)Connector.open(base); 
// Setup HTTP Request to POST                
httpConn.setRequestMethod(HttpsConnection.POST);                
httpConn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
httpConn.setRequestProperty("Accept",
    "text/html,application/xhtml+xml,application/xml,application/x-javascript,*/*;q=0.5 ");
//Add the authorized header.
httpConn.setRequestProperty("Authorization", 
    "Basic " + Base64OutputStream.encodeAsString(
                   login.getBytes(), 0, login.getBytes().length, false, false));

message = httpConn.getResponseMessage();
status = httpConn.getResponseCode();           
tmpCookie = httpConn.getHeaderField("Set-Cookie");

EventLogger.logEvent(guid, status);

if (status == HttpConnection.HTTP_OK) 
{
    String tmpCookie = httpConn.getHeaderField("set-cookie");
    authForm.append("\nConnected");
    authForm.append("\n\nLogin Response:" + message + 
                        "\nHTTP response code:" + status + "\nCookie: " 
                        + tmpCookie); 
    //getNewZipFile();
}                   
else if(status !=HttpConnection.HTTP_OK){
    throw new IOException("HTTP response code: " + status); 
}
httpConn.close(); 

Ответы [ 2 ]

1 голос
/ 26 ноября 2010

Вы действительно установили соединение? Ваш код показывает, что вы устанавливаете свойство запроса, а затем сразу же пытаетесь найти значение заголовка без указания того, что запрос действительно был отправлен.

Если вы делаете это (в этом случае более полный код приветствуется), вы должны использовать Wireshark или что-то подобное, чтобы узнать, как на самом деле выглядит сетевой трафик.

0 голосов
/ 26 ноября 2010

Как запрос авторизационного заголовка связан с ответом Cookie?Я полагаю, что это никак.

Может быть, сервер не возвращает куки?Или может быть «set-cookie» чувствительно к регистру, и вы должны использовать вместо него «Set-Cookie».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...