精华内容
下载资源
问答
  • 安卓webview设置cookie

    2019-04-26 14:22:49
    public boolean syncCookie() { CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setCookie(url, "JSESSIONID="+"123456789"); String newCookie = cooki...
    
        public boolean syncCookie() {
            CookieManager cookieManager = CookieManager.getInstance();
            cookieManager.setCookie(url, "JSESSIONID="+"123456789");
            String newCookie = cookieManager.getCookie(url);
            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
                CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(getApplicationContext());
                cookieSyncManager.sync();
            }
            return TextUtils.isEmpty(newCookie) ? false : true;
        }
    

    一定要在loadurl 和 web seting之前

            webView= (WebView) findViewById(R.id.schooldate_webview);
    
            syncCookie();
    
            //支持javascript
            webView.getSettings().setJavaScriptEnabled(true);
            webView.loadUrl(url);

     

    展开全文
  • Android(安卓)WebView设置cookie

    千次阅读 2014-09-09 14:16:08
    最近两天一直想用安卓模拟登陆,利用新的WebView显示登陆后可以访问的页面,但是不管怎么访问需要登陆后才能访问的页面,还是跳回到登陆页,后来网上看了下是cookie没有设置,找了半天才到到合适的设置方法: ...

    最近两天一直想用安卓模拟登陆,利用新的WebView显示登陆后可以访问的页面,但是不管怎么访问需要登陆后才能访问的页面,还是跳回到登陆页,后来网上看了下是cookie没有设置,找了半天才到到合适的设置方法:


    登陆方法:

    private Cookie cookie;
    	public static  HttpContext localContext;
    	<span style="color: rgb(255, 0, 0); "><strong>public static  List<Cookie> cookies;//此为保存的cookie</strong></span>
    	public  String cookieStr;
    
    	// public static Cookie cookie = null; 
    	/**
    	 * 登陆时保存cookie
    	 * @param url
    	 * @param data
    	 * @return
    	 */
    	public String login(String url,String data[]){
    		HttpClient client = null;
    		String html = null;
    		try {
    			client = new DefaultHttpClient();
    			<span style="color: rgb(255, 0, 0); "><strong>// 创建cookie store的本地实例  
    			CookieStore cookieStore = new BasicCookieStore();  
    			localContext = new BasicHttpContext();  
    			// 绑定定制的cookie store到本地内容中  
    			localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore); </strong></span>
    			HttpPost post = new HttpPost(url);
    			List<NameValuePair> parameters = new ArrayList<NameValuePair>();
    			parameters.add(new BasicNameValuePair("username", data[0]));
    			parameters.add(new BasicNameValuePair("passwd", data[1]));
    			parameters.add(new BasicNameValuePair("login", "%B5%C7%A1%A1%C2%BC"));
    			UrlEncodedFormEntity entity = new UrlEncodedFormEntity(parameters,"utf-8");
    			post.setEntity(entity);
    			
    			HttpResponse response = client.execute(post<span style="color: rgb(255, 0, 0); ">,localContext</span>);
    			if(response.getStatusLine().getStatusCode() == 200){
    				InputStream content = response.getEntity().getContent();
    				BufferedReader buffer = new BufferedReader(new InputStreamReader(content,"gbk"));
    				String line = null;
    				while((line=buffer.readLine())!=null){
    					html+=line;
    				}
    				 <span style="color: rgb(255, 0, 0); "><strong> cookies = cookieStore.getCookies();</strong></span>
    				 System.out.println("cookies.size():"+cookies.size());
    				 if (!cookies.isEmpty()) {  
    					 for(int i=0;i<cookies.size();i++){
    						 System.out.println("- "+cookies.get(i).toString());
    					 }
    				  }
    				buffer.close();
    			}else{
    				System.out.println("UtilsLogin:"+response.getStatusLine().getStatusCode());			
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}finally{
    			if(client!=null){
    				client.getConnectionManager().shutdown();
    			}
    		}
    		return html;
    	}

    Activity中的oncreate()方法:

    private WebView wvTempShow;
    	private String receiveUrl;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_temp_web_view);
    		wvTempShow = (WebView) findViewById(R.id.wv_tempShow);
    		Intent intent = this.getIntent();
    		receiveUrl = intent.getStringExtra("openUrl");
    		<span style="color: rgb(255, 0, 0); "><strong>//获得cookie管理者
    		CookieManager cookieManager = CookieManager.getInstance();
    		//获取登陆时的cookie
    		String oldCookie = 
    				UtilsLogin.cookies.get(0).getName()+"="+UtilsLogin.cookies.get(0).getValue()+";"+
    				UtilsLogin.cookies.get(1).getName()+"="+UtilsLogin.cookies.get(1).getValue()+";" ;</strong></span>
    		System.out.println("oldCookie:"+oldCookie);
    		cookieManager.setCookie(receiveUrl, oldCookie);
    		wvTempShow.getSettings().setDefaultTextEncodingName("gbk");
    		wvTempShow.loadUrl(receiveUrl);
    		wvTempShow.setWebViewClient(new MyWebViewClient());
    	}
    
    	class MyWebViewClient extends WebViewClient{
    		
    		
    		
    		@Override
    		public void onPageStarted(WebView view, String url, Bitmap favicon) {
    			super.onPageStarted(view, url, favicon);
    			  
    		}
    		@Override
    		public void onPageFinished(WebView view, String url) {
    			super.onPageFinished(view, url);
    		}
    	}

    需要注意的是:要看访问的页面需要什么样的cookie字符串可以用以下方法:

    CookieManager cookieManager = CookieManager.getInstance();
    			String CookieStr = cookieManager.getCookie("http://bkjw.guet.edu.cn/student/public/menu.asp?menu=mnall.asp");
                System.out.println("TempWebViewonPageFinished = " + CookieStr);


    然后自己像以上String oldCookie中一样自己拼好,再在cookieManager.setCookie(url,cookieString);中设置



    展开全文
  • 混合开发难免遇到些这样那样的坑,前几天碰到一个cookie丢失的问题,跨域出现cookie,网上查了一下,解决方案很多,此贴只是为了记录,不再详述,见下面的两个帖子: ...Android WebView设置Cookie https://www....

    混合开发难免遇到些这样那样的坑,前几天碰到一个cookie丢失的问题,跨域出现cookie,网上查了一下,解决方案很多,此贴只是为了记录,不再详述,见下面的两个帖子:

    WebView的Cookie跨域问题
    https://blog.csdn.net/denglusha737/article/details/83684488

    Android WebView设置Cookie
    https://www.jianshu.com/p/53897db4d734

    展开全文
  • 安卓多个Cookie 设置的方法

    千次阅读 2015-12-18 11:53:21
     CookieManager cookieManager = CookieManager.getInstance();  cookieManager.removeAllCookie();  cookieManager.acceptCookie();  String cookie = new SharePreferenceUtil(this).getCookie();  ...
          HttpClient.asyncGet(UrlUtil.LOGIN, params, new JsonHttpResponseHandler() {
                        @Override
                        public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
                            super.onSuccess(statusCode, headers, response);
                            if (statusCode == 200 && headers != null) {
                                for (Header header : headers) {
                                    if (TextUtils.equals(header.getName(), "Set-Cookie")) {
                                        new SharePreferenceUtil(getApplicationContext()).setCookie(header.getValue());
                                    }
                                }
                                LoginResponse res = JSON.parseObject(response.toString(),LoginResponse.class);
                                netBack(res);
                            }

                        }


        private void setWebViewCookie() {
            CookieSyncManager.createInstance(this);
            CookieManager cookieManager = CookieManager.getInstance();
            cookieManager.removeAllCookie();
            cookieManager.acceptCookie();
            String cookie = new SharePreferenceUtil(this).getCookie();
            if (!cookie.equals("")){
                String[] cookiess = cookie.split("customkidswantsplit");
                for (String cookies : cookiess){
                    cookieManager.setCookie(UrlUtil.HOST, cookies + ";Domain=" +UrlUtil.HOST);
                      //  cookieManager.setCookie(UrlUtil.HOST, cookie + ";Domain=" +UrlUtil.HOST + ";Path=/");
                }
            }
            CookieSyncManager.getInstance().sync();
        }


    volley只能拿到一个setCookie,需要修改源码才支持,所以这里不用volley 使用httpClient

    展开全文
  • 我们一般在使用WebView去加载H5界面的时候都会同步一下Cookie,一般的都会这么做: 在HttpClient中保存下来...CookieSyncManager和CookieManager就是做这种事的,下面来看代码里怎么设置Cookie让WebView也保持登录状态:
  • 1.使用cookie-universal插件时设置token失效 cookies.set('token', token, { domain: location.href.indexOf('baidu.com'... (2)设置cookie document.cookie = `token=token;path=/;expires;domain='.baidu.com`;
  • 我们一般在使用WebView去加载H5界面的时候都会同步一下Cookie,一般的都会这么做:...在HttpClient中保存下来的Cookie怎么设置到WebView组件里,让WebView也保持住Cookie状态,也就是登录状态呢?  CookieS
  • 腾讯X5引擎部分手机设置cookie失败

    千次阅读 2018-04-08 10:52:32
    最近遇到部分安卓手机升级手机操作系统后, 腾讯X5引擎设置cookie不成功导致用户登录不上。 之前设置cookie的方法是 CookieManager.getInstance().setCookie(inUrl, cookie); CookieSyncManager.getInstance()....
  • IT之家3月18日消息 据外媒报道,日前安卓版Chrome浏览器在隐私设置方面给了用户更大的自由,谷歌在安卓版Chrome 82 Canary中添加了一个flag标志,让用户对Cookie有了更多的控制权。IT之家获悉,在安卓Chrome 80稳定...
  • 本文转载来自:https://blog.csdn.net/lixuce1234/article/details/54667507最近几天做了一个项目,是原生和界面...这里就需要给webView设置一个cookie,然后服务器用来判断用户是否在线状态,看了网上的好多教程...
  • Cookie

    2016-10-07 20:11:40
    由服务器产生的 存储在本地硬盘上 关于用户的信息 浏览器用户的账号 密码 跟踪用户的行为 查看用户之前的访问状态 ...SQlite 数据库文件 安卓自带 的小型数据库 ...Cookie 优点 ...跟踪用户行为 天气预报 设置
  • Android webview 设置cookie 保持登录状态 http缓存和安卓webview设置缓存
  • 前几天项目中用到UIWebView, 而在网页中,用到了建行缴费。但是在缴费的时候出现“请您在浏览器中清理并设置接受服务器下传的cookie,错误码0130Z1108006”,而安卓是没有这种情况的...尝试过重新设置cookie等等,还...
  • SharedPreferences经常被用于保存安卓中少量的数据,比如记住用户的登陆状态,用户的一些设置等。个人理解,对HTTP不太熟,作用有点像浏览器中的cookie。 SharedPreferences本身是一个接口,可以通过...
  • 调试PHP使用ECLIPSE+XDEBUG,而XDEBUG触发断点需要get方法传递一个参数或者设置一个COOKIE,我使用的是COOKIE的方法(我认为这种方法比较好) 也就是说,要想办法让APP发起请求的时候带着COOKIE信息,因为APP开发我...
  • 实现目标:在安卓手机上实现一个完整的OA助手,能设置OA的访问地址,有消息到来时手机能自动提醒。 上一次已经完成的webview相关的技术准备,接着要完善的功能:保持webview的访问状态;采用CookieManager读取...
  • 客户端第一次访问服务器时,服务器端会自动给用户设置一个session值,这个值存在响应头的cookie中,客户端获取这个值后保存下来,再次访问服务器时把它添加到请求头中,服务器就能根据session的值识别用户的身份了。...
  • app,浏览器X安卓系统,苹果系统,起初是对页面url地址带有的参数(安卓)跟用户代理(苹果)返回值判断navigator.userAgent,但是发现只有首页url才带有特殊的参数字符,于是,便用了另外一种方法cookie,默认cookie...
  • ios 跨域 第三方cookie使用

    千次阅读 2019-04-26 14:45:13
    在UIWebView和WKWebView都奏效。...但是在缴费的时候出现“请您在浏览器中清理并设置接受服务器下传的cookie,错误码0130Z1108006”,而安卓是没有这种情况的,于是就在找原因。找了很久也没有找到原...
  • 安卓和除了13.1和11.1版本的其他IOS手机都可以请求带cookie,用来登录 但是这两个版本的都不带cookie,而且每次session都会变化 也跟着网上说的设置了 前端 axios.defaults.withCredentials = true; 后台用的...
  • 测试到最后的时候发现在ipadmini上登陆成功之后无法跳转页面,而安卓和pc端都可以,找了大半天bug,发现其他的苹果设备都没问题,只能一个一个的调试,结果发现设备的系统是ios8.3,在该系统下cookie没有设置上,导致没有...
  • react-native访问安卓原生VideoView组件报错,错误如下所示,请问什么原因?? ``` 08-01 12:54:24.034 4321-4321/com.react_native_video I/MediaPlayer: constructor 08-01 12:54:24.038 4321-4321/...
  • 测试到最后的时候发现在ipadmini上登陆成功之后无法跳转页面,而安卓和pc端都可以,找了大半天bug,发现其他的苹果设备都没问题,只能一个一个的调试,结果发现设备的系统是ios8.3,在该系统下cookie没有设置上,导致没有...
  • 由于歌曲 API 只接受中国大陆地区访问,非中国大陆地区用户请自行设置代理(可用 polipo 将 socks5 代理转换成 http 代理): export http_proxy=http://IP:PORT export https_proxy=http://IP:PORT curl -L ip.cn ...
  • Cookies的两种存取方式

    2017-07-20 08:41:00
    我们在使用webview开发时,少不了和cookie打交道,在网页端我这使用的是asp.net开发的,安卓下的cookie和windows平台下还是有些不同的,后来看了看,原来有两种cookie的存取方式,我们在安卓下用的是通过Response...
  • web项目 day02(六)

    2019-07-21 22:18:42
    细节 着重注意:后端考虑接口数据的传输的时候要考虑细致,要全面的考虑到一切可能发生的情况 安卓和ios是没有cookie和session这个说法的 计算年龄 在工作中,设置缓存key的标识是很重要的
  • asp.net 苹果设备无法登陆问题

    千次阅读 2017-09-05 09:38:38
    公司用的asp.net框架做的网站,在PC端和安卓设备上可以正常登陆访问网页,但是在苹果设备上总是停留在登陆页面,... 在IIS的身份验证设置中,设置form验证为使用cookie。(默认为使用设备文件)。 方法2: 修改we

空空如也

空空如也

1 2 3
收藏数 44
精华内容 17
关键字:

安卓设置cookie