Передача файла cookie сеанса в заголовок URL - PullRequest
0 голосов
/ 28 февраля 2012

Я успешно вошел в систему и получил Session Cookie. Теперь мне нужно передать этот сеансовый cookie в заголовок другого URL, чтобы получить больше информации. URL: http://myexperiment.org.uk/whoami.xml затем должен перенаправить себя на другой URL, который создает дерево XML. Мне нужно использовать этот XML для получения информации об идентификаторе пользователя (который является узлом дерева).

Вот мой код.

    Log.d("Session Cookie: ", cookieValue);

    URL urlWhoAmI = new URL("http://www.myexperiment.org/whoami.xml");

    connection1 = (HttpURLConnection) urlWhoAmI.openConnection();
    connection1.setRequestProperty("Set-Cookie", cookieValue);
    connection1.connect();

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();

    Document doc = db.parse(new InputSource(urlWhoAmI.openStream()));
    doc.getDocumentElement().normalize();

    NodeList nodeList1 = doc.getElementsByTagName("user");

    for(int i=0; i < nodeList1.getLength(); i++)
    {
        Node node = nodeList1.item(i);

        //For user id
        Element firstElement = (Element) node;
        NodeList nameList = firstElement.getElementsByTagName("id");

        Element nameElement = (Element) nameList.item(0);
        nameList = nameElement.getChildNodes();

        String userID = nameList.item(0).getNodeValue();
        Log.d("User ID: ", userID);
    }

Когда я выполняю отладку, я получаю исключение java.io.FileNotFoundException для URL.

Надеюсь, здесь кто-нибудь может помочь.

Заранее спасибо.

1 Ответ

1 голос
/ 06 февраля 2013

Похоже, вы используете Set-Cookie, когда вы должны использовать только Cookie для поля заголовка. Set-Cookie - для ответов сервера, Cookie - для клиентских запросов.

http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

...