NoHttp请求自动维持Cookie:
   1.支持Session、Cookie、临时Cookie的位置。
   2.支持App重启、关机开机后继续持久化维持。
   3.提供了接口,允许开发者监听Cookie的变化,也可以改变某个Cookie的值。

服务器端:

@WebServlet("/login")
public class LoginServlet extends BaseJsonServlet { private static final long serialVersionUID = 145646L; @Override
protected String onResponse(HttpServletRequest request, HttpServletResponse response) throws Exception {
String userName = request.getParameter("userName");
String userpwd = request.getParameter("userPwd");
if ("yolanda".equals(userName) && "".equals(userpwd)) {
Cookie cookie = new Cookie("userInfo", "yolalasf3153a1");
cookie.setMaxAge( * );
response.addCookie(cookie);
return "登录成功";
} else {
return "登录失败";
}
} }

客户端:

 public class CookieGetActivity extends Activity implements View.OnClickListener {

     private TextView mTvResult;

     @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
findViewById(R.id.btn_login).setOnClickListener(this);
mTvResult = (TextView) findViewById(R.id.tv_result);
} @Override
public void onClick(View v) {
if (v.getId() == R.id.btn_login) {// 登录按钮
Request<JSONObject> request = new FastJsonRequest("http://192.168.1.116/HttpServer/login?userName=yolanda&userPwd=123", RequestMethod.GET);
CallServer.getInstance().add(this, request, callBack, , true, false, true);
}
} private HttpCallBack<JSONObject> callBack = new HttpCallBack<JSONObject>() {
@Override
public void onSucceed(int what, Response<JSONObject> response) {
JSONObject jsonObject = response.get();
String result = "成功了:" + jsonObject.getString("data"); // 成功时拿到头
Headers headers = response.getHeaders();
List<HttpCookie> cookies = headers.getCookies();
for (HttpCookie httpCookie : cookies) {
String cookieName = httpCookie.getName();
if ("userInfo".equals(cookieName)) {
// 这里就拿到了你想那的cookie
result += "\n";
result += httpCookie.getValue();
}
}
mTvResult.setText(result);
} @Override
public void onFailed(int what, String url, Object tag, Exception exception, int responseCode, long networkMillis) {
mTvResult.setText("失败了" + exception.getClass().getName());
}
}; }

文章:https://blog.csdn.net/sinat_31057219/article/details/74217030

NoHttp封装--03 cookie的更多相关文章

  1. NoHttp封装--03 缓存

    1.Default模式,也是没有设置缓存模式时的默认模式 这个模式实现http协议中的内容,比如响应码是304时,当然还会结合E-Tag和LastModify等头. StringRequest req ...

  2. # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结

    095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  3. js 封装设计cookie

    http://www.imooc.com/article/12700<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...

  4. Ajax的封装03

    一.Ajax   1.原理:基于http协议的     内置对象:XMLHttpRequest 发起请求 那会相应     步骤: var xhr=new XMLHttpRequest(); // 请 ...

  5. cookie方法封装及cookie缺点分析

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Consolas; color: #4f5d66 } p.p2 { margin: 0.0px ...

  6. NoHttp封装--07 自定义异步任务框架

    MainActivity: public class MainActivity extends Activity implements View.OnClickListener { .... @Ove ...

  7. NoHttp封装--05 文件下载

    xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:la ...

  8. NoHttp封装--02 自定义请求

    bean实体类请求: 1.bean import java.io.Serializable; import com.alibaba.fastjson.annotation.JSONField; pub ...

  9. NoHttp封装--01

    NoHttpActivity public class NoHttpActivity extends Activity implements View.OnClickListener { privat ...

随机推荐

  1. 分布式任务调度系统xxl-job源码探究(一、客户端)

    前面讲了xxl-job的搭建,现在来粗略的解析下该分布式调度系统的源码,先来客户点代码 客户端源码 客户端开启的时候会向服务中心进行注册,其实现用的是jetty连接,且每隔半分钟会发送一次心跳,来告诉 ...

  2. asp.net mvc 安全测试漏洞 " HTTP 动词篡改的认证旁路" 问题解决

    IBM Security Appscan漏洞筛查-HTTP 动词篡改的认证旁路漏洞,具体解决方案: 在Web.Config中system.webServer节点增加配置security: <se ...

  3. Python中通过threshold创建mask

    [code] import numpy as np threshold=2 a=np.array([[1,2,3],[3,4,5]]) b=a>threshold print("a=& ...

  4. Android Studio 签名打包

    项目开发完成后,如果要分发到Google play或者各个第三方渠道,签名打包是必不可少的,下面详细介绍整个签名打包过程,及如何查看签名. 1.创建签名文件 选择要打包的项目-点击Build-在弹出的 ...

  5. Feign自定义编程配置

    介绍 在Spring Cloud中,Feign的默认配置类是FeignClientsConfiguration,该类定义了Feigh默认使用的编码器.解码器.所使用的契约等.Spring Cloud允 ...

  6. Docker上运行MySQL服务

    1.搜索MySQL镜像 $ docker search mysql INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.i ...

  7. nginx介绍(二) - 默认配置

    前言 前面, 在浏览器中, 输入linux 的ip, 出现了以下页面: 那这个页面在哪里呢? 一. 工具 notepad++ 在进入主题之前, 先来介绍下, 一会使用到的工具. 在notepad++里 ...

  8. 从完整备份恢复单个innodb表

    现在大多数同学在线上采取的备份策略都是xtrabackup全备+binlog备份,那么当某天某张表意外的删除那么如何从xtrabackup全备中恢复呢?从mysql 5.6版本开始,支持可移动表空间( ...

  9. MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具集成Visual Studio 2013

    MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具 经过一个多星期的努力总算完成了单表,多表关联(一对多,多对一)的增删改查的代码 ...

  10. JavaWeb学习 (三)————Tomcat服务器学习和使用(二)

    一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下: