android studio 获取cookie

问题描述

android studio 获取cookie

最近一段时间开始使用android stuido 公司接口一直都有要获取cookie 进行登录 。然而
/*
* 获取cookie值
*/
public void getCookie(Context mContext) {

    DefaultHttpClient defaultHttpClient = (DefaultHttpClient) getHttpClient();
    List<Cookie> cookies = defaultHttpClient.getCookieStore().getCookies();
    for (int i = 0; i < cookies.size(); i++) {

        if (cookies.get(i).getName().equals("token")) {
            String cookie = cookies.get(i).getValue();
            ACacheConst.cookie = cookie;
            ACache.get(mContext).put(ACacheConst.COOKIE, cookie);
            System.out.println("cookie---------------" + cookie);
        }
    }
}   这段代码 在eclipse 上是完全没有问题的  但是在studio 就不行啊  后面找了下原因是 6.0 把HttpClient相关的类去掉了 要添加依赖库
  于是 我再studio 添加了下
useLibrary 'org.apache.http.legacy'  就没问题了   但是问题来了 上面那段代码 在studio 上面还是获取不到cookie  我使用的是 retrofit 网络请求库  有没大神知道如何解决的 急  谢谢

解决方案

你用 retrofit 的话

http://stackoverflow.com/questions/21530307/set-custom-cookie-in-retrofit

 I had similar situation in my app. This solution works for me to retrieve cookies using Retrofit. MyCookieManager.java

import java.io.IOException;
import java.net.CookieManager;
import java.net.URI;
import java.util.List;
import java.util.Map;

class MyCookieManager extends CookieManager {

    @Override
    public void put(URI uri, Map<String, List<String>> stringListMap) throws IOException {
        super.put(uri, stringListMap);
        if (stringListMap != null && stringListMap.get("Set-Cookie") != null)
            for (String string : stringListMap.get("Set-Cookie")) {
                if (string.contains("userid")) {
                    //save your cookie here
                }
            }
    }
}
Here is how to set your cookie for future requests using RequestInterceptor:

 MyCookieManager myCookieManager = new MyCookieManager();
            CookieHandler.setDefault(myCookieManager);
 private static final RestAdapter REST_ADAPTER = new RestAdapter.Builder()
            .setEndpoint(API_URL)
            .setLogLevel(RestAdapter.LogLevel.FULL)
                    .setRequestInterceptor(new RequestInterceptor() {
                        @Override
                        public void intercept(RequestFacade requestFacade) {
                            String userId = ;//get your saved userid here
                            if (userId != null)
                                requestFacade.addHeader("Cookie", userId);
                        }
                    })
            .build();

https://github.com/square/retrofit/issues/503

时间: 2024-10-30 11:09:12

android studio 获取cookie的相关文章

Android Studio获取SHA1值实例详解

Android Studio获取SHA1值实例详解 前言 使用百度地图的小伙伴们都会知道获取百度地图的密钥需要SHA1和包名,在Eclipse中,我们可以很方便的得知SHA1值,如下图: 但是在Android Studio中,该怎么获取SHA1的值呢?不要着急,马上呈上~ Android Studio获取SHA1值 强大的Android Studio为我们提供了Terminal这个工具,我们可以通过他进行相应命令从而获取所需内容. Java中提供了Keytool工具去让我们管理证书,那么接下来我

Android Studio获取网络JSON数据并处理的方法

本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 1.需要的网络JSON数据 2.数据实现类 package chenglong.activitytest.pengintohospital.entity; import org.json.JSONException; import org.json.JSONObject; /** * * 科室 * Created by LICHENGLONG on 2017-10-02. */ public class Bas

java-Android Studio获取GMT+8时间出错?

问题描述 Android Studio获取GMT+8时间出错? package com.example.thread; import java.util.Timer; import android.app.Activity; import android.graphics.Color; import android.graphics.Typeface; import android.os.Bundle; import android.os.Handler; import android.os.M

Android Studio怎么查看程序的安全码获取SHA1值?

  Android Studio怎么查看程序的安全码获取SHA1值?使用百度地图SDK进行Android开发,在申请密钥时需要输入Android SDK安全码,主要是获取SHA1值. 1.项目界面右侧点击"Gradle"-> signingReport,然后点击刷新按钮,出现应用程序名称 2.找到并点击Tasks->android->signingReport 3.在信息输出框中显示发布版和开发版的安全码(MD5和SHA1)

Android Studio中获取sha1证书指纹数据的方法

高德地图开发申请KEY的时候需要开发者提供SHA1证书指纹数据,在eclipse很容易就找到了,但是Android Studio很久也没找到,只能使用在网上看到的方法了,在Android Studio中的Terminal中使用keytool获取了,具体如下图所示(输入密钥库口令--测试的默认口令为:android,如果使用自己提供的keystore,就是自己的密码了):

在Android Studio中使用BaiduMap SDK实时获取当地位置信息_Android

配置BaiduMap 环境 1.在百度API中新建自己的一个APP包名和APP名需要注意和自己Android Studio 中的包名和APP名保持一致: 2.百度地图中还需要填写一个SHA1 数字签名: a.输入keytool -list -v -keystore debug.keystore,会得到三种指纹证书,选取SHA1类型的证书(密钥口令是android),这个获取到的SHA1的值和ecplise中获取的值是一样的,是作为debug用的. b.输入keytool -list -v -ke

Android Studio生成签名文件,自动签名,以及获取SHA1和MD5值

前言: 作为谷歌在2013年为开发者提供的IDE环境工具Android Studio,从几次更新之后Android Studio已经成为了非常强大的IDE开发环境.谷歌也宣布Android Studio将取代Eclipse .而使用as进行开发,已经倍受移动开发者的喜爱.废话我们这里就不再多说,不用不知道,谁用吓一跳.本文主要讲到是开发过程中经常需要用到的.如何使用as生成签名文件,配置gradle让APP自动签名以及如何生成SHA1和MD5值. 一.生成签名文件 1. 在as菜单栏中找到"bu

第一次使用Android Studio时你应该知道的一切配置

[正文] 最近网上流行起了程序猿鼓励师的段子,鼓励师的报酬比程序猿还高,想想也确实是个不错的职位,什么?你没听说过?翻到本文最后面,爆图. 放假前的福利,之前写一篇博客:使用Android Studio搭建Android集成开发环境(图文教程),之前的那篇可以凑合着看一下.当时Andriod Studio还处在测试版,现在Android Studio已经升级到稳定版1.1了,决定还是重新写一下图文教程,让那些还在死抱着eclipse不放的人(包括自己)跨过这道坎.   [开发环境] 物理机版本:

Android下对Cookie的读写操作(附Demo)

转自:http://www.67tgb.com/?p=536  Cookie是为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据,在Android中也经常用到,接下来我们介绍Cookie在Android里是如何进行读写的.    Cookie其实就是一个字符串,由服务端生成.请求某些需要Cookie的URL的时候,将该字符串设置到Header中即可.    找到一个读写Cookie的场景还算容易: 写Cookie的场景    比如登录.在用户首次登录成功的时候,我们会从服务端取