Android POST данные и печенье - PullRequest
0 голосов
/ 30 июня 2010

У меня есть имя пользователя в качестве пароля, которое мне нужно отправить на веб-сайт как часть приложения для Android (да, это https), и после отправки на сервер через POST сервер должен вернуть куки. Мне нужно иметь возможность записывать эти файлы cookie и разрешать доступ к ним через веб-просмотр, который я установил.

Как бы я это сделал?

Спасибо

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

Как правило, в Java HttpURLConnection вы можете установить / получить cookie таким образом (вот весь процесс подключения):

            HttpURLConnection conn = (HttpURLConnection) url.openConnection();             

            //set cookie. sCookie is my static cookie string
            if(sCookie!=null && sCookie.length()>0){
                conn.setRequestProperty("Cookie", sCookie);                  
            }

            // Send data
            OutputStream os = conn.getOutputStream(); 
            os.write(mData.getBytes());
            os.flush();
            os.close(); 

            // Get the response!
            int httpResponseCode = conn.getResponseCode();         
            if (httpResponseCode != HttpURLConnection.HTTP_OK){
               throw new Exception("HTTP response code: "+httpResponseCode); 
            }

            // Get the data and pass them to the XML parser
            InputStream inputStream = conn.getInputStream();                
            Xml.parse(inputStream, Xml.Encoding.UTF_8, mSaxHandler);                
            inputStream.close();

            //Get the cookie
            String cookie = conn.getHeaderField("set-cookie");
            if(cookie!=null && cookie.length()>0){
                sCookie = cookie;              
            }

            /*   many cookies handling:                  
            String responseHeaderName = null;
            for (int i=1; (responseHeaderName = conn.getHeaderFieldKey(i))!=null; i++) {
                if (responseHeaderName.equals("Set-Cookie")) {                  
                String cookie = conn.getHeaderField(i);   
                }
            }*/                

            conn.disconnect();                
1 голос
/ 30 июня 2010

Вы можете вызвать функцию setCookie в экземпляре CookieManager, которую вы можете получить, вызвав для него статический метод getInstance.

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