Android volley添加Cookie
来源:互联网 发布:毕向东java基础教程 编辑:程序博客网 时间:2024/05/22 15:22
转载处:http://blog.csdn.net/aygxylxk/article/details/27539107?utm_source=tuicool&utm_medium=referral
原本准备自己封装一下的,结果就看到了网上有个相同的博客就转载过来做一下记忆
Volley 默认是不支持Cookie的,如何添加Cookie,很是头疼。
看源码后发现HttpStack的子类中都有添加Header的代码。
HurlStack performRequest方法中
- HashMap<String, String> map = new HashMap<String, String>();
- map.putAll(request.getHeaders());
- map.putAll(additionalHeaders);
- if (mUrlRewriter != null) {
- String rewritten = mUrlRewriter.rewriteUrl(url);
- if (rewritten == null) {
- throw new IOException("URL blocked by rewriter: " + url);
- }
- url = rewritten;
- }
- URL parsedUrl = new URL(url);
- HttpURLConnection connection = openConnection(parsedUrl, request);
- for (String headerName : map.keySet()) {
- connection.addRequestProperty(headerName, map.get(headerName));
- }
HttpClientStack performRequest方法中
- addHeaders(httpRequest, request.getHeaders());
看到什么端倪了吧,对 request.getHeaders()可以设置Cookie
所以我们只要继承Request,实现request中的getHeaders()方法就行了。
下面是我继承JsonObjectRequest实现的方法
- import java.util.HashMap;
- import java.util.Map;
- import org.json.JSONObject;
- import com.android.volley.AuthFailureError;
- import com.android.volley.Response.ErrorListener;
- import com.android.volley.Response.Listener;
- import com.android.volley.toolbox.JsonObjectRequest;
- public class CookieRequest extends JsonObjectRequest {
- private Map<String, String> mHeaders=new HashMap<String, String>(1);
- public CookieRequest(String url, JSONObject jsonRequest, Listener<JSONObject> listener,
- ErrorListener errorListener) {
- super(url, jsonRequest, listener, errorListener);
- }
- public CookieRequest(int method, String url, JSONObject jsonRequest, Listener<JSONObject> listener,
- ErrorListener errorListener) {
- super(method, url, jsonRequest, listener, errorListener);
- }
- public void setCookie(String cookie){
- mHeaders.put("Cookie", cookie);
- }
- @Override
- public Map<String, String> getHeaders() throws AuthFailureError {
- return mHeaders;
- }
- }
搞定。
0 0
- Android volley添加Cookie
- Android volley添加Cookie
- Android Volley框架定制JsonRequest添加Cookie
- Android Volley框架定制JsonRequest添加Cookie
- Volley关于添加Cookie总结
- Android Volley支持多个cookie
- 重温Volley源码(三):添加Cookie或Https的能力
- Android Studio添加volley以及volley的简单用法
- android studio volley compile添加依赖
- Volley 添加Cookie和获取服务器返回的一条或多条Cookie
- Volley 添加Cookie和获取服务器返回的一条或多条Cookie
- android 给url添加cookie
- Android中Volley发送带有Cookie信息的请求
- volley 获取cookie总结
- volley 获取cookie
- Android中Cookie的持久化(包含Volley的Cookie持久化)
- android - Volley框架请求获取Cookie和带Cookie请求链接和带参数Params
- Android http请求类添加Cookie
- 一中国商人在美法院承认曾从事网络间谍活动
- 整理苹果官网上iOS的各种辅助功能
- 整数因子分解问题
- 块存储、文件存储、对象存储
- 用青花瓷抓包
- Android volley添加Cookie
- Squirrel SQL Client连接hive安装部署
- Linux slab 分配器剖析
- 使用Oracle数据库字典表生成MyBatis配置
- 2017阿里内推实习生面试经历(已获得offer)
- 【poj 2533】Longest Ordered Subsequence 题意&题解&代码(C++)
- Android工程笔记:项目文件结构介绍
- 2.1趣味数学之个人所得税问题
- 有关OJ中PE的一些解决方法(持续更新。。。)