HttpURLConnection webview sessionId 连贯性

GlobalVars.serviceUrl = http://192.168.0.106:8080/text/login.jsp

1 获取 HttpURLConnection 返回的 cookie 和内部的 sessionId

sessionId格式如 JSESSIONID=XXXXXXXXXXXX.tomcat1 不同的服务器SESSION名字是不一样的,

这里我们暂时认为都含有SESSIONID

responseCode = conn.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
	InputStream response_in = conn.getInputStream(); 

	GlobalVars.HttpSetCookies = conn.getHeaderFields().get("Set-Cookie");
	if(GlobalVars.HttpSessionid==null){
		for(String value:GlobalVars.HttpSetCookies){
			//默认情况下 SESSION_ID_NAME 必定含有 SESSIONID
			if(value.toUpperCase().indexOf("SESSIONID")>0){
				GlobalVars.HttpSessionid = value;
			}
		}	

	}
}

2 HttpURLConnection提交时加入 sessionId

url = new URL(str_remotecallservlerurl);
conn = (HttpURLConnection)url.openConnection();
if(GlobalVars.HttpSessionid !=null ){
	conn.setRequestProperty("Cookie",GlobalVars.HttpSessionid);
}

3 webview 初始化前 将cookie写入activity的本地即可

	CookieSyncManager.createInstance(this);
	CookieManager cookieManager = CookieManager.getInstance();
	cookieManager.setCookie(GlobalVars.serviceUrl, GlobalVars.HttpSetCookies.toString());
	CookieSyncManager.getInstance().sync(); 
时间: 2024-10-06 19:52:50

HttpURLConnection webview sessionId 连贯性的相关文章

WebView的使用及实战

这篇博客主要讲解一下问题 - webView 的 基本使用 - webView怎样配置缓存 - webView请求错误时候的处理 - webView cookie的同步与清除 - webView 下载文件的两种方法 - webView的 一些扩展使用 思路图如下 大概的效果图如下 webView的基本使用 大概可以分为以下步骤 - 配置权限 - 创建webView - 配置webView(是否支持js,是否由系统浏览器打开) - 加载数据 第一步,别忘了 在AndroidMainfest中 添加

webview HttpClient 怎么保持会话session统一

cookies session均为key---value的形式展示,  1.    session是存储在服务端,并有一块区域控件存储用户信息,主要是为了判断该用户是否登录,在客户端采用httpClient/HttpUrlConnection进行登录请求的时候,传过去的username=“ccc” 服务端中的session进行判断是否存在改sessionId,以及value,不存在代表改用户不曾登录,服务器会自动生成唯一的sessionId其为key,传过来的ccc则为value,key="se

WebView中session的传递

因要app中使用webview访问一个网站,但是app与服务器的沟通是使用HttpUrlConnection来完成的, 设计要求是:使用webview访问时不需要再次登陆,直接app的登陆状态. 在查询了资料后,发现可以像如下这样做: 1. 获取到HttpUrlConnection里服务器返回的session id. 2. 将此session id设置到CookieManager里即可. 完成上面两部,webview就可以利用这个session来打开制定的页面了. 以下是测试代码: privat

Android中WebView开发汇总

1 去掉WebView的白色背景 2 WebView的超时处理 3 WebView加载网络PDF资源 4 图片自适应WebView大小(铺满WebView) 5 WebView利用UserAgent传递SESSIONID 6 监听WebView滑动到底部 7 WebView长按后调用文字复制功能 8 Android硬件加速以及WebView的onPause,onResume,OnDestroy 9 WebView不能加载Twitter的问题 10 WebView加载本地SD卡上的图片 11 We

对WebView接口的实现

MainActivity package www.wulian1.com.webview; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.webkit.WebView; public class MainActivity extends AppCompatActivity { @Override     protected void onCreate(Bundle

Atitit.h5 web webview性能提升解决方案-----fileStrore缓存离线存储+http方案

1. 业务场景 android+webview h5 css背景图性能提升1 2. 根据标准,到目前为止,H5 一共有6种缓存机制,有些是之前已有,有些是 H5 才新加入的.1 2.1. 各种方案的比较,如下图2 3. Attilax的解决之道 file 缓存+http3 3.1. 图片的下载3 3.2. Jsbridge 4android5 3.3. http协议6 4. 参考8 1. 业务场景 android+webview h5 css背景图性能提升 图片的缓存大概儿需要500m的规模..

详细讲解Android的网络通信(HttpUrlConnection和HttpClient)

前言,Android的网络通信的方式有两种:使用Socket或者HTTP,今天这一篇我们详细讲解使用HTTP实现的网络通信,HTTP又包括两种方式编程方式: (1)HttpUrlConnection: (2)HttpClient: 好了,我们直接进行讲解,当然之前也会有一部分有关Android网络通信的其他知识,我们也应该了解. 一.获取网络状态的方法 (1)MainActivity.java中的关键代码 1 2 3 4 5 6 7 8 //网络管理类,可以判断是否能上网,以及网络类型     

HTTP基础与Android之(安卓与服务器通信)——使用HttpClient和HttpURLConnection

查看原文:http://blog.csdn.net/sinat_29912455/article/details/51122286 1客户端连接服务器实现内部的原理 GET方式和POST方式的差别 HTTP返回请求数据的三种方式 2使用HTTP协议访问网络 3HttpCient 简单来说用HttpClient发送请求接收响应都很简单只需要五大步骤即可要牢记 4DefaultHttpClient GET方式 POST方式 5Java中使用HTTPHttpURLConnection GET方式 PO

Android基础入门教程——7.5.4 WebView文件下载

Android基础入门教程--7.5.4 WebView文件下载 标签(空格分隔): Android基础入门教程 本节引言 本节给大家介绍的是WebView下载文件的知识点,当我们在使用普通浏览器的时候,比如UC, 当我们点击到一个可供下载链接的时候,就会进行下载,WebView作为一个浏览器般的组件, 当然也是支持下载,我们可以自己来写下载的流程,设置下载后的文件放哪,以什么文件名 保存,当然也可以调用其它内置的浏览器来进行下载,比如Chrome,UC等等! 下面给大家演示下用法! 1.调用其