利用HttpClient获得cookie,并在webview中使用的方法

WPF使用WebView2实现带Cookie数据访问链接 C# WPF使用WebView2实现带Cookie数据访问链接。 阅读详情

本文系转载,原文地址:http://www.aichengxu.com/view/38894

利用HttpClient获得cookie,并在webview中使用的方法,有需要的朋友可以参考下。

在开发App中,经常遇到在webview中显示网站登录后的某些页面,这时候如果单纯的使用mWebView.loadUrl(web_url)方法时,仍然需要重新登陆web的系统,因此无法取得特定的页面,因此在上一次httpclient请求时,需要人为的保存下这一次网络连接的cookie,并将其保存为全局变量,方便webview的使用。

下面贴出httpclient中保存cookie的方法:

public static String HttpPostDataTestList(MyApplication myApplication,String url, long userId,
long studentUserId, String role, long pageNo) {
String result = "0";
try {

HttpParams params = new BasicHttpParams();
DefaultHttpClient httpclient = new DefaultHttpClient(params);
HttpPost httppost = new HttpPost(url);

JSONObject obj = new JSONObject();
obj.put("userId", userId);
obj.put("studentUserId", studentUserId);
obj.put("role", role);
obj.put("pageNo", pageNo);
httppost.setEntity(new StringEntity(obj.toString()));


HttpContext context = new BasicHttpContext();
CookieStore cookieStore = new BasicCookieStore();
context.setAttribute(ClientContext.COOKIE_STORE, cookieStore);


HttpResponse response;
response = httpclient.execute(httppost, context);

// 检验状态码,如果成功接收数据
int code = response.getStatusLine().getStatusCode();
if (code == 200) {
result = EntityUtils.toString(response.getEntity());// 返回json格式
List<Cookie> cookies=httpclient.getCookieStore().getCookies();
Log.e("cookies", "cookies"+cookies.size());
if (!cookies.isEmpty()) {
Log.e("chengong", "chenggong");
for (int i = cookies.size(); i > 0; i--) {
Cookie cookie = (Cookie) cookies.get(i - 1);
if (cookie.getName().equalsIgnoreCase("jsessionid")) {
// 使用一个常量来保存这个cookie,用于做session共享之用
myApplication.setCookie(cookie);
}
}
}
}
return result;
} catch (ClientProtocolException e) {
return result;
} catch (IOException e) {
return result;
} catch (Exception e) {
return result;
}
}

webview中设置cookie的方法:

CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
MyApplication application = (MyApplication) getApplication();
Cookie sessionCookie = application.getCookie();
if (sessionCookie != null) {
Log.e("fail", "fail");
String cookieString = sessionCookie.getName() + "="
+ sessionCookie.getValue() + "; domain="
+ sessionCookie.getDomain();
cookieManager.setCookie(web_url, cookieString);
CookieSyncManager.getInstance().sync();
}

特别注意的是,这段代码需要添加在loadUrl方法前,否则没有效果。因为此时你已经加载了url.

Android中Cookie管理及WebView同步实战 在构建现代Web应用或移动应用时,HTTP Cookie常被用于维护客户端与服务器之间的状态。在Android平台上,Cookie机制同样扮演着至关重要的角色,特别是在需要处理会话和用户偏好设置时。自定义是为了处理各种页面加载事件,例如页面开始加载、加载完成以及加载失败。@Override@Override// 页面开始加载时的操作@Override// 页面加载完成时的操作在中,方法告诉WebView直接加载URL,而不是打开外部浏览器。和。 阅读详情

相关推荐

S32K144之芯片锁死解锁——关闭debug端口

S32K144之芯片锁死及解锁 经常捣鼓单片机就会发现,时常会因为某些操作不当导致芯片锁死情况的发生,通过Jlink我们可以读到芯片的ID,但是无法进行Debug,这很是让人苦恼。 基于S32K144的芯片锁死,一般有如下几种可能: 1、时钟配置异常,过高的配置时钟频率以及不配置时钟,都有可能造成芯片保护锁死,我就曾经因为不注意把时钟配置代码注释掉,导致芯片锁死。 2、我是微软雅黑烧写断电,如果在...

weixin_41935674的博客 1万+

c#+webview2 爬虫技巧--cookies和采集高德收藏点经纬度

webview2的cookies和爬取高德地图收藏点经纬度

gisdtcn的博客 2379

Apple 网页 SRP 登录系列文章(二):网页参数提取与会话初始化

本文深入解析了Apple网页SRP登录的第一个关键环节。文章首先指出Apple登录页面采用多层安全架构,包括跨域跳转机制和动态参数生成。重点介绍了四种关键参数(ServiceKey、SCNT、FrameId、ServiceNum)的提取技术,通过正则表达式和JSON路径解析从HTML脚本和HTTP头中获取。最后详细说明了会话初始化流程,包括访问初始页面和构建认证URL。这些技术细节揭示了Apple如何通过复杂机制确保登录过程的安全性。

Sayid_Des的专栏 1131

C#之WebView2实现cookie登录,免登操作。

我实现的方式有三种,一种是通过JS注入cookie的方式,第二种是通过读取本地化存储的用户数据实现,第三种是发送请求的时候,对请求头进行修改。

csdn2990的博客 2860

西电计组实验一 存储器实验

计组实验报告 实验一 存储器实验——FPGA中LPM_ROM定制与读出实验 一.实验目的   1.掌握FPGA中lpm_ROM的设置,作为只读存储器ROM的工作特性和配置方法;   2.用文本编辑器编辑mif文件配置ROM,学习将程序代码以mif格式文件加载于lpm_ROM中;   3.在初始化存储器编辑窗口编辑mif文件配置ROM;   4.验证FPGA中mega_lpm_ROM的功能。 二.实验原理   ALTERA的FPGA中有许多可调用的LPM (Library Parameterized Modu

Polaris的博客 1万+

Agent框架系列:1-低代码智能体平台深度解析Dify、Coze、n8n

Dify、Coze 和 n8n 是三大主流低代码智能体平台,各有侧重。Dify 适合企业级 AI 应用,具备强大的 RAG 和知识库管理能力,技术栈为 Python + React。Coze 由字节推出,主打零代码和快速原型开发,集成 60+ 插件,极适合非技术用户。n8n 以工作流自动化和系统集成为核心,支持 400+ 外部应用,基于 Node.js + Vue,扩展性极强。选择建议:非技术团队选 Coze,AI 应用选 Dify,复杂自动化与集成选 n8n。可根据实际需求混合使用,最大化平台优势。

3085

C#在WebBrowser下获取完整的Cookies(包括含HTTPOnly属性的)

最近做项目的时候需要模拟post请求取数据但用了普通的Cookies无法获取完整的Cookies信息 只是获取了一部分 ,导致取回来的是重新登陆的页面。后来经过不懈的精神,终于找到了方法实现获取HTTPOnly,下面直接贴代码: using System; using System.Collections.Generic; using System.Linq; using Syst

化州陈陆亮 9829

【Unity】【Pico】【VR开发】为何PICO打包后真机运行闪退

由于并没有开版权验证,而且闪退后也并没有弹框说版权问题,所以还是怀疑环境有什么地方不对。设置步骤,项目配置都没问题,Build也成功,Unity版本是符合要求的2022LTS版本,但是一在真机上运行就闪退。

每日出拳老爷子的博客 3175

C# winform获取完整Cookies的方法

[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern bool InternetGetCookieEx(string pchURL, string pchCookieName, StringBuilder pchCookieData, ref System.UInt

Coder 1万+

基于STM32的多功能旅行箱_329

随着智能硬件技术的不断发展,智能化产品逐渐渗透到日常生活的各个领域。旅行箱作为出行必需的工具,其传统功能已无法满足现代用户的需求,尤其是在安全性、便捷性和智能交互方面。为了解决这一问题,本设计基于STM32单片机开发了一款多功能智能旅行箱,集成了移动防盗报警、语音寻箱、GPS定位、称重检测、手势控制和蓝牙通信等多项功能。通过STM32F103RCT6主控芯片与HC-05蓝牙模块进行通信,结合海凌科V20语音识别模块、ATGM336H-5N GPS模块和HX711称重模块,提供了全方位的智能化体验。

484

Word2vec核心模型精讲:CBOW与Skip-gram

Word2vec是Google提出的词向量模型,通过CBOW和Skip-gram两种神经网络架构将词汇映射到低维向量空间。CBOW通过上下文预测中心词,训练速度快但高频词表现更好;Skip-gram则相反,通过中心词预测上下文,适合处理生僻词。为解决softmax计算效率问题,Word2vec引入基于哈夫曼树的Hierarchical Softmax优化技术,将复杂度从O(V)降至O(logV)。文章详细解析了两种模型的原理差异,并演示了哈夫曼树的构造过程及其在词向量训练中的关键作用,这种结合词频的优

Trisyp的博客 530

关于Android 中如何共享原生httpClient获取的cookie并与webView共享

首先是httpclient 获取的cookie,存储全局变量类似于application.sessionCookie=mycookie; httpclient 处cookie是之前定义的成String 并在header中获取。 在webview 处需要无登录获取web内容时:         //同步cookie         CookieSyncManager.createInstan

世界的这一个角落 1660

【自适应调制】自适应调制解调通信链路误码率matlab仿真与分析

BPSK中的B是“Binary”的意思,也就是有两个变化状态,比如说相位上的“+90°(代表1)、-90°(代表0)”,一个状态代表的就是一个比特。QPSK的“Q”是“Quadrature”的意思,有四个变化状态,如相位上的“+45°(代表00)、-45°(代表11)、+135°(代表10)、-135°(代表01)”,那么一个状态就代表两个比特的信息,如图2所示。同理8PSK的一个状态代表三个比特。但是功率资源并不是无限的,基站总的发射功率是一定的,为了充分利用所有的功率,采用的就是AMC技术。

FPGA/MATLAB学习教程/源码/项目合作开发 1833

android WebView 与 HttpClient Cookie

1.WebView中的Cookie信息,或者WebView访问某网络地址前设置其Cookie CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(MainActivity.this); cookieSyncManager.sync(); CookieManager cookieM

take8619702的专栏 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

android webview里设置cookie

我们在android中访问网络经常会用到Apache的HttpClient,用此类去访问网络获取数据,  但是在写android界面的时候又时不时的会用到一些WebView组件,这时候访问一个以经登录的页面的时候cookie设置就有个问题  在HttpClient中保存下来的Cookie怎么设置到WebView组件里,让WebView也保持住Cookie状态,也就是登录状态呢? 

coder_nice的专栏 1524

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

android WebView登录状态session id 和cookie同步

上次说到的WebView还有一个遇到的比较难一点的问题没有回答上来。主要是关于在用webview的时候无法保存登录状态,下次打开网页还是会打开登录界面。有两三个朋友同时问到我这个问题,而刚刚好我也不懂,也正在学习。而且刚好也找到可以学习的路径并且真实可用。废话少说,先标明出处,小心被打 本文转载自:http://f059074251.iteye.com/blog/2184072 作者:http:

hkq463的博客 4616

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

android WebView 和 HttpClient cookie同步

首先android5.0 实现了WebView与 框架的自动cookie同步,无需额外操作。 5.0一下版本需要手动同步cookie 方法如下CookieSyncManager.createInstance(context); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.set

u012636086的专栏 1455

android httpclient webview,ANDROID:在Webview和httpclient之间共享会话

我实际上在WebView中记录了会话.但我也使用httpclient来发送和从网络获取数据.我在互联网上看到,无法获取WebView的内容,因此我需要使用我的httpclient从Web服务获取数据.问题是这个webservice使用会话…而我的会话在我的WebView中,所以httpclient没有它,我无法访问webservice的内容.我看到很多关于这个问题的帖子,但我不明白解决方案.这是我...

weixin_28813401的博客 247

Android WebView 与HttpClient 共用本地cookie问题

我是为了解决:WebView 缓存下来的cookie可以用于HttpClient,因为我的HttpClient单独需要取一些数据,但是依赖于本地的cookie。如果没有cookie返回来的是登录页面 [java] view plaincopyprint? "FONT-SIZE: 24px">核心代码:  1. mainActivity.java  public void

dennyWang的专栏 7615

android使用webview登录,获取session传递到httpclient小例子

转载自:     http://blog.youkuaiyun.com/pochuanpiao/article/details/17953645    前几天完成了一个客户端小功能,使用html页面登录, 拿到cookie之后,传递给httpclient完成业务逻辑的访问,现在把基本的流程整理记录一下。 首先来一张Android工程的目录结构图吧,html、js文件都是放在ass

Charles的博客 2055

webView设置Cookie

我们在android中访问网络经常会用到Apache的HttpClient,用此类去访问网络获取数据, 但是在写android界面的时候又时不时的会用到一些WebView组件,这时候访问一个以经登录的页面的时候cookie设置就有个问题 在HttpClient中保存下来的Cookie怎么设置到WebView组件里,让WebView也保持住Cookie状态,也就是登录状态呢? CookieSyncMa

SharkChao的专栏 1382
下一篇: android中获取图片的缩略图(解决OutOfMemoryError)内存溢出的Bug
TonyLRX2012
博客等级 码龄14年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值