Android问题—Android中Cookie问题的处理
来源:互联网 发布:肌研洗面奶怎么样 知乎 编辑:程序博客网 时间:2024/06/16 11:25
说这个之前,首先我们要理解两个概念:Session和Cookie Cookie只是Session机制的一种常用形式,我们也可以使用其他方式来作为客户端的一个唯一标识, 这个由服务器决定,唯一能够证明一个客户端标识就好!除了这种方式外,我们还可以使用URL重写! 方法来实现!所以以后别傻傻的跟别人说:Session不就是Cookie!
下面通过一个例子来帮助大家理解这个Cookie: 小猪输入账号密码后登陆下学校的教务系统,然后访问课表信息成功, 然后如果你用的是Chrome,按F12进入开发模式:来到Resources界面可以看到我们的Cookies:
点击后我们可以看到里面保存的内容,由名称;值;cookie所在的域(domain); cookie所在的目录(path)Asp.net默认为/即根目录;过期时间;Cookie大小:
我们可以看到请求头中有一个Cookie的字段:
恩呢,现在我们把Cookie清掉(或者等几分钟),然后再访问下述链接:
这时候,页面竟然自动跳回登陆页面了!当然一些其他的网站可能会弹出一个对话框说 "登陆超时"之类的东西!
小结下Http请求登陆的一个简单流程: 一般是登陆的时候:服务器通过Set-Cookie响应头,返回一个Cookie,浏览器默认保存这个Cookie, 后续访问相关页面的时候会带上这个Cookie,通过Cookie请求头来完成访问,如果没Cookie或者 Cookie过期,就提示用户没登陆,登陆超时,访问需要登陆之类的信息!
而我们使用HttpClient和HttpURLConnection其实也就是模拟这一个流程,登陆后拿到cookie 拿着它去发送请求: 关键代码如下: 获得Cookie:conn.getHeaderField("Set-Cookie"); 请求时带上Cookie:conn.setRequestProperty("Cookie",cookie);
另外,除了这种设置请求头的方式外,还可以用另一种折衷的方法:URL重写: 就是在原先请求链接的基础上,加上一个…&sessionid=xxxxx这样的参数,然后由服务器来解析 判断!Get可以这么写,而Post写法如下:
这里我们用的是JSON字符串的形式,接到请求时服务端取出session里的内容,然后做下查询即可~
- Android问题—Android中Cookie问题的处理
- cookie中存储中文的处理问题
- android开发中webview保存cookie问题的解决
- android开发中webview保存cookie问题的解决
- android开发中webview保存cookie问题的解决
- android开发中webview保存cookie问题的解决
- Android网络编程中关于AsyncHttpClient获取cookie的问题
- 【Android】【问题处理】处理过的问题
- Android 客户端Cookie失效的问题
- Android获取cookie闪退的问题
- Android小问题的处理
- 关于Asp.net应用中cookie的问题处理
- 关于Asp.net应用中cookie的问题处理
- 关于Asp.net应用中cookie的问题处理
- android中事件的处理以及应该注意的问题
- Android Studio中support版本错误问题的处理
- Android Studio中support版本错误问题的处理
- Android 编程中遇到的错误问题处理
- 关于java的初次认识
- RelativeLayout用java代码敲布局
- temp
- Android反编译
- Codevs 1533互斥的数-hash
- Android问题—Android中Cookie问题的处理
- BZOJ-1191 (二分图匹配)
- 表单验证 ajax异步请求实例 json传参
- OpenGL3.3+GLFW+GLEW+GLM实现小人行走动画
- 数据挖掘---分类评估指标和回归问题
- mysql注入绕过空格过滤的方法
- 递归递推练习——D
- 设计模式(十九) 备忘录模式
- Hex、bin、axf、elf格式文件小结