как использовать куки в HttpsURLConnection в Android - PullRequest
8 голосов
/ 10 января 2011

На самом деле я новичок в Android, и теперь мне нужно добавить куки в моем проекте. Я использую HttpsUrlConnection. Вот как я делаю запрос и получаю ответ от веб-сервера, и теперь мне нужно добавить файлы cookie.

   URL url = new URL(strUrl);

 HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();

 connection.setRequestMethod("POST");    

 connection.setRequestProperty("Content-Type", 
    "application/soap+xml; charset=utf-8");

    connection.setRequestProperty("Content-Length", ""+ 
             Integer.toString(request.getBytes().length));

    connection.setUseCaches (false);
    connection.setDoInput(true);
    connection.setDoOutput(true);


    // send Request...
    DataOutputStream wr = new DataOutputStream (connection.getOutputStream());
 wr.writeBytes (request);
 wr.flush ();
 wr.close ();

 //Get response...
 DataInputStream is = new DataInputStream(connection.getInputStream());    
 String line;
 StringBuffer response = new StringBuffer(); 
 while((line = is.readLine()) != null) {
    response.append(line);
  }
 is.close();
 FileLogger.writeFile("Soap.txt", "RESPONSE: " + methodName + "\n" + response);
 HashMap<String, String> parameters = null;
 try {
   parameters = SoapRequest.responseParser(response.toString(), methodName);
  } catch (ParserConfigurationException e) {
  // TODO Auto-generated catch block
 e.printStackTrace();
 } catch (SAXException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 return parameters;

любая помощь будет благодарна, спасибо

1 Ответ

14 голосов
/ 10 января 2011

У вас есть учебник здесь (для URLConnection , но HttpsURLConnection является подклассом, поэтому он также должен работать).

В основномВы должны сделать:

connection.setRequestProperty("Cookie", myCookie);

, где myCookie имеет форму "userId=igbrown", если только один, или "userId=igbrown; sessionId=SID77689211949; isAuthenticated=true", если их много (разделитель - точка с запятой И пробел)

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