【问题标题】:Android cookies without CookieManager没有 CookieManager 的 Android cookie
【发布时间】:2012-08-22 17:49:39
【问题描述】:

我知道这里发布了一个类似的问题:Android Session cookies without using CookieManager 但是,我无法让它工作。

 URL urlObj = new URL(urlPath);
    conn = (HttpURLConnection) urlObj.openConnection();

    if (urlPath.toLowerCase().startsWith("https:")) {
        initializeHttpsConnection((HttpsURLConnection) conn);
    }
    conn.setRequestMethod("POST");


        conn.setDoInput(true);
        conn.setDoOutput(true);
        conn.connect();
        // Send body data
        os = conn.getOutputStream();
        os.write(bodyData);
        // Must flush and close to make sure all the data is sent.
        os.flush();
        os.close();
        // Get response
        in = conn.getInputStream();
        System.out.println("Initial set of cookies:");

        String cookie = conn.getRequestProperty("Cookie");

// 映射> rp = conn.getRequestProperties(); if (cookie != null && cookie.length() > 0) { _cookie = 饼干; Log.v("cookie2", _cookie); }

“cookie”始终为空。

但是,如果我确实包含 CookieManger(并使用 2.3.3+ 运行它),那么 cookie 具有所需的值。

【问题讨论】:

    标签: android cookies session-cookies


    【解决方案1】:

    试试这个 http url con:

      while ((headerfields = connection.getHeaderField(i)) != null) {
              String key = connection.getHeaderFieldKey(i);
              if (key.equalsIgnoreCase("SET-COOKIE")) {
             ssss= (((key==null) ? "" : key + ": ") + headerfields);}
              i++;
    
              }
    

    【讨论】:

    • 我对“ssss”有什么期望?
    • 它存储cookie字符串
    • 太棒了。所以,结果是: Set-Cookie: JSESSIONID=3B299C570A21D2A5E84673AC7718BA1C; Path=/cell 在执行 setRequestProperty 时我需要“发回”它的哪一部分?
    • 这里 3B299C570A21D2A5E84673AC7718BA1C 这是您的会话 ID 或 cookie
    猜你喜欢
    • 2020-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    相关资源
    最近更新 更多