Articles of cookies

使用HttpClient时在活动中使用Cookie

我正在尝试一个简单的应用程序来阅读网站的HTML,并转换它以在Android中创建一个易于阅读的UI(这是一个学习android的exersize,而不是一个可用的应用程序)。 我遇到的问题是跨活动持久存在用户会话,然后在调用后在HttpClient使用会话。 我想“正确地”这样做,推荐的方法似乎是使用CookieManager 。 但是我遇到了这个问题 – 我似乎无法find从CookieManager获取Cookie的“正确”方法,并在以后的单独活动中将HttpClient实例化。 当使用CookieManager我可以保存Cookie ,然后Cookie就在其他活动的范围内(参见代码片段2)。 我在请求页面时没有find如何使用它(请参阅代码片段3)。 够了,这里有一些代码。 首先我的登录操作和Cookie存储: private OnClickListener loginActionListener = new OnClickListener() { public void onClick(View v) { EditText usernameTextView = (EditText) findViewById(R.id.Username); EditText passwordTextView = (EditText) findViewById(R.id.Password); String username = usernameTextView.getText().toString(); String password = passwordTextView.getText().toString(); try { HttpPost postMethod = new HttpPost(URI); HttpParams params = new BasicHttpParams(); params.setParameter(“mode”, […]

Android:如何存储Cookie?

在我的Android应用程序中,每个活动都填充了来自网络上某处的xml文件的数据。 提供这些文件的网站有一个登录机制,可以使用cookie。 我知道如何向登录页面发出HTTP请求并接收cookie。 我不知道的是,我如何存储它以在其他活动中重复使用它以及下次启动应用程序时。 该cookie有效期为一年,因此我的应用程序的用户应该登录一次,然后再也不会再登录一年。 我怎么做? 我搜索了很多,但要么我使用了错误的关键字,要么互联网上没有简单的解决方案。 我希望这里有人可以帮助我。 最诚挚的问候和感谢,Jan Oliver

如何在Chrome自定义选项卡android中共享cookie数据

我们有一个Android应用程序,我们要打开一个URL。为了避免用户input用户名和密码,我们想通过会话cookie。 我们可以在我们的应用程序中使用webview来做到这一点,但我们希望避免webviews。 我们发现另一个解决scheme是使用chrome自定义选项卡 按照文档https://developer.chrome.com/multidevice/android/customtabs铬自定义选项卡支持: 共享Cookie Jar和权限模型,以便用户不必login到他们已经连接到的网站,或重新授予他们已经授予的权限。 我正在尝试从https://github.com/GoogleChrome/custom-tabs-client的例子,但我无法弄清楚如何传递会话数据。 任何人都可以帮助我通过指向文件或方式来实现这一目标?

Android HttpClient和Cookies

我在Android中的HttpClient有一个问题:通过使用下面的代码,我想通过webviewlogin使用之前已经设置的cookie。 所以login数据应该在那里,确实在那里,我testing了它。 但是,当我在httppost或httpget中使用cookie时,它不使用login数据。 但这些cookies实际上应该足以接收那个需要login的页面,不是吗? 我不确定是否需要以特殊的方式将cookie发送到服务器或者是否足以将其加载到httpcontext中。 这里是代码: DefaultHttpClient httpclient = new DefaultHttpClient(); CookieStore lCS = new BasicCookieStore(); if (CookieManager.getInstance().getCookie(pUrl) != null) { String cookieString = CookieManager.getInstance().getCookie(pUrl); String[] urlCookieArray = cookieString.split(";"); for (int i = 0; i < urlCookieArray.length; i++) { System.out.println(urlCookieArray[i]); String[] singleCookie = urlCookieArray[i].split("="); Cookie urlCookie = new BasicClientCookie(singleCookie[0], singleCookie[1]); lCS.addCookie(urlCookie); } } HttpContext localContext […]

在http客户端服务中保存CookieStore

我有一个执行HTTP调用的Android应用程序的服务。 该服务将Cookie存储在CookieStore中。 我试图find一种方法来坚持CookieStore,但我没有成功。 我不希望用户每次login都会收到一个新的CookieStore。 我试图使用SharedPreferences作为一个string存储CookieStore,但我不能重新构造一个String的CookieStore。 有其他人有坚持一个CookieStore成功吗?

有没有可能在Android下载pipe理器中提交Cookie

我正在使用android DownloadManager API从我学校的服务器上下载文件。 我有权限访问这些文件与login,但我一直无法弄清楚如何提交Cookie与我的DownloadManager.Request下载代码如下。 dm是一个全局的DownloadManager , url是一个redirect到一个文件的php下载脚本,通常是pdf / doc / etc。 dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); Request request = new Request(Uri.parse(url)); dm.enqueue(request); Intent i = new Intent(); i.setAction(DownloadManager.ACTION_VIEW_DOWNLOADS); startActivity(i); 这工作正常,但我得到一个HTML文件下载,这是我学校网站的login页面。 很明显,我需要以某种方式提交用户的会话cookie,但是在文档中我看不到任何这样做的方法。

如何从Android WebView获取完整的Cookie数据?

我有一个使用WebView的Android应用程序。 我试图获取所有的数据包括他们的所有数据,包括他们的“path”数据,“max-age”,“hostOnly”标志和“安全”标志(如谷歌Chrome的chrome.cookies.getAll()扩展API) 。 CookieManager.getCookie()只返回cookie的名称和值对。 我怎样才能提取饼​​干的所有“原始数据”?

如何在Java中使用HttpGet发送cookie

我试图发送一个cookie与我的HttpGet请求,但每次我尝试我还没有能够成功发送它。 我也试图直接修改标题,这里是我的代码: DefaultHttpClient httpClient = new DefaultHttpClient(); CookieStore store = new BasicCookieStore(); store.addCookie(MyCookieStorageClass.getCookie()); httpClient.setCookieStore(store); HttpGet httpGet = new HttpGet("http://localhost/); try { // Execute HTTP Get Request HttpResponse response = httpclient.execute(httpGet); String responseData = ResponseHandler.getResponseBody(response); } catch (IOException e) { e.printStackTrace(); }

`$ cookies.put()`需要30秒钟的时间才能将Cookie保存在Android上的磁盘上

语境: 我们有一个加载在线网站的cordova应用程序。 (我们基本上使用cordova作为插件) 我们使用$cookies.put()存储cookie 它可以在桌面浏览器和iOS上正常工作(只要我们在cookie上使用到期) 问题: 在Android上,如果用户在调用$cookies.put() 30秒后$cookies.put()应用程序,那么cookie将在下次重新启动时消失。 如果用户等待超过30秒(如35秒或更长),一切工作正常。 题: 我们如何强制cookie立即(或至less快得多)保存? 笔记: 在cookie上添加选项不会改变任何内容 我试图使用cordova-plugin-crosswalk-webviewreplace人行横道的系统浏览器,但是它做同样的事情

HttpGet会自动处理cookie吗?

我想在使用HttpGet连接到服务器时保留一个会话,我需要了解它如何处理cookie。 服务器开发人员说他自己处理所有的cookies。 我使用HttpGet请求来访问服务器,如下所示:InputStream isResponse = null; HttpGet httpget = new HttpGet(strUrl); HttpResponse response = mClient.execute(httpget); HttpEntity entity = response.getEntity(); isResponse = entity.getContent(); responseBody = convertStreamToString(isResponse); return responseBody; 我应该再做点什么吗? 他是否会自动将cookie放在我的设备上,并且HttpGet方法知道使用它来保持使用cookie的sessionID? 如何检查cookie是否存在于我的设备上,以便知道会话是否“活着”? 如果我使用下面的代码来获取cookie: CookieStore cookieStore = new BasicCookieStore(); // Create local HTTP context HttpContext localContext = new BasicHttpContext(); // Bind custom cookie store to the local context […]