以一种"廉价"的方式获取页面的标题(downmoon)

Android中WebView拿到当前的网址和上一页面的网址 最近写项目,用到了webView,这是一个很重要的控件,但是在开发中要拿到网址,所以我写了一个例子上传和大家交流学习 立即下载

有朋友问到:
“我需要得到一个web page的title,因为这个title一般都比较靠前,只要取得html 的前面少量内容就可以了。因为要取得很多个页面的title,如果下载整个html code, 肯定比较浪费时间。.net好像没有现成的类可以干这件事情(取得部分html) ,我应该如何去实现?”
一种比较"廉价"(即较小成本条件下)的解决思路:
第一步:取出含有页面title部分的最小集合。这是“廉价”的关键!
第二步:用正则表达式取出<title>和</title>之间的部分即可。
先看下效果:
邀月工作室

下面我们来分析:
页面title 一般都在靠近开始处,所以我们从开始读取Stream流,(如果靠近结尾,则如何?)读取到什么地方为止呢?有个比较明显的标志是
</title>
遇到它结束就可以了。
以什么方式读取,我这里选取的是:逐行读取,取到标志符即终止。
方法如下:

取出后就是再用正则取出<title>和</title>之间的部分。
这部分浪费了些时间,因为邀月的正则功底不行啊!·
先后试过如下正则表达式:

1  // string strRegEx ="<[^>]*>";
2  // string strRegEx = "<title>.*([^</title>])";
3  // string strRegEx = "<title>(.*?)</title>";
4  // string strRegEx = "<title>.*?</title>";

均不能达到想要的“经济廉价”的效果,最终,找到这个:



演示效果如上图:

后续问题:
1、将继续实现代理方式躲过IP;
2、将尝试另外一种通过Request.Filter方式直接替换来实现。
欢迎交流。
助人等于自助!   3w@live.cn

GD32 I2C中断通信实战:主机与从机高效数据交换方案 本文详细解析了GD32微控制器I2C中断通信的实战方案,通过配置I2C0为主机、I2C1为从机,实现高效的双向数据交换。文章深入剖析了中断服务程序(ISR)的核心配置、关键状态标志位处理以及事件驱动机制,帮助开发者避免常见陷阱,提升系统响应速度与资源利用率,适用于传感器连接、多机通信等嵌入式场景。 阅读详情

相关推荐

告别‘小爱同学’:用ESP32-S3和esp-sr SDK,从零打造一个离线语音助手(含完整代码)

本文详细介绍了如何利用ESP32-S3芯片和esp-sr SDK从零构建一个离线语音助手,涵盖硬件选型、声学设计、SDK配置及低功耗优化等关键步骤。通过实战案例和完整代码,帮助开发者实现自定义唤醒词和命令词,打造低成本、高隐私的本地语音控制解决方案。

weixin_29041195的博客 370

android webview 之 AgentWeb的使用

在混合化开发大行其道的今天,安卓开发经常会用到WebView,用于加载网页。系统自带的WebView性能和流畅度都一般,今天给大家推荐一款第三方WebView,性能比系统自带的要好,功能也更多。AgentWeb 是一个高度封装的 Android WebView ,简单易用 , 带有进度条 、 支持文件上传 、 下载 、 简化 Javascript 通信 、 链式调用 、 加强 Web 安全的库。方便好用,功能多。

weixin_37077736的博客 4174

离散系统傅里叶变换的常用结论证明

本文介绍了离散系统傅里叶变换的三个重要结论:1)时域卷积对应频域相乘(公式1-3);2)时域相乘对应频域卷积(公式4-6);3)帕塞瓦尔定理(公式7)及其广义形式,证明信号能量在变换域保持不变。文末提供了MATLAB卷积运算演示程序,通过动画展示离散信号卷积过程(翻转、平移、相乘、累加),并以方波信号为例给出运行结果图。该程序直观呈现了卷积运算的步骤与结果。

newtton的博客 1302

Android中 简洁优秀的AgentWeb框架基本使用

AgentWeb 安卓x包4.1版本1)、JAVA调用JS(数据都是虚拟生成的哦)1.搭建实体类2.准备数据源3.定义JS函数4.JAVA调用JS5.Echarts数据解析处理6.效果展示2)、JS调用JAVA1.定义需要调用的接口2.web端 JS调用JAVA3.JAVA添加JS关联4.结果展示3)、踩坑说明项目场景:问题描述:原因分析:尝试解决: A)、依赖: implementation 'com.just.agentweb:agentweb-androidx:4.1.4'

FATCATS博客 5277

usb设备的定位信息获取

一个usb hub有20个口,每个口有一个标号,那么如果一个为X的标号插入了一个android设备,如何通过函数,得到这个X,代码实现如下,获取了location, 得到类似 Port_#0002.Hub_#0003 的字符串,然后,要对应一个表。

babytiger的专栏 2106

jetson agx orin开箱及接口介绍

jetson agx orin开箱及接口介绍

qq_58728069的博客 1万+

android第三方图标库,Android 第三方库AgentWeb的使用

Android 第三方库AgentWeb的使用一:前言Android开发经常会用到WebView,用于加载网页。系统自带的WebView性能和流畅度都一般,AgentWeb是一款第三方的WebView,性能比系统自带的要好,功能也更多。AgentWeb是一个高度封装的Android WebView,简单易用,带进度条,支持文件上传,下载,简化Javascript通信,链式调用,加强Web安全的库。...

weixin_29911401的博客 751

智能车图像处理24-进阶篇16--三叉路口的判断

这篇文章主要讲述图像处理中如何判断三叉路口并进行补线操作。

taiyuezyh的博客 1万+

Android JS交互-记录我所遇到的

Android JS交互-记录我所遇到的android 和javascript相互android 调取JS方法JS调取Android方法JS image标签上传图片WebView本地加载复文本标签配置JS视频同时播放问题JS视频全屏播放问题 android 和javascript相互 android 和javascript交互很多,尤其是新闻类app,有的新闻是由复文本编辑的,需要直接加载复文本,会遇到很多问题,记录一下 android 调取JS方法 有两种调取方法: 1、loadUrl() 2、eval

a130226123的博客 631

把 ABAP 出站 IDoc 做到稳如老狗:从数据抽取到端口投递的全链路拆解

SAP出站IDoc创建流程解析 本文详细拆解了SAP系统中出站IDoc的创建流程,将其归纳为四个关键阶段:数据获取、数据转换、控制记录校验和端口投递。文章指出,IDoc的稳定性取决于整条流水线的设计质量,而不仅仅是字段映射。 核心要点包括: IDoc由控制记录和数据记录组成,需在WE31/WE30中定义段结构 2.数据获取阶段需明确触发点、依赖链和一致性保证 3.数据转换应遵循"结构版本+映射纪律"原则 4.控制记录校验决定IDoc能否发出,需与WE20伙伴配置匹配 5.端口类型(tRF

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 171

把复杂计算推到数据库里:ABAP CDS View Table Function 从原理到落地实践

摘要:本文深入解析ABAP CDS Table Function技术,重点探讨其在复杂业务场景下的应用价值。当CDS View无法满足窗口函数、递归计算等高级需求时,Table Function通过结合CDS类型系统与AMDP的数据库原生计算能力,成为关键解决方案。文章详细介绍了Table Function的架构设计(CDS实体声明+AMDP实现)、客户端处理机制、开发传输流程中的注意事项,并通过航班数据示例展示最小实现闭环。这项技术特别适用于需要将复杂计算下推到数据库层的场景,能显著提升RAP和OData

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2290

android好用的webview,GitHub - AweiLoveAndroid/AgentWeb: AgentWeb 是一个基于 Android WebView的一个库,比WebView好用...

AgentWeb 介绍 EnglishAgentWeb 是一个基于的 Android WebView ,简单易用 , 带有进度条 、 支持文件上传 、 下载 、 简化与 Javascript 通信 、 链式调用 、带有错误页、权限拦截、定位 、 支持多个 WebViewClient ,WebChromeClient、 加强 Web 安全,功能强大的库 ,更多使用请参照上面的 Sample 。A...

weixin_29502425的博客 913

[Dify实战] 招投标标书智能生成:模板套用 + 风险校验

摘要:本文提出基于Dify构建AI标书生成工作流,解决传统标书撰写中内容重复(80%复用率)、人工修改效率低、风险检查易出错等痛点。方案包含三大核心模块:1)智能生成(基于模板自动填充项目信息);2)风险校验(AI自动检查废标风险点);3)多角色协作。通过拆分标书结构、设置详细Prompt、建立风险检查清单,实现从"人工撰写"到"参数化自动生成+AI审核"的转型,最终输出标准格式文档并支持企业系统集成。典型应用场景下,系统能自动生成技术方案并识别关键风险(如支付安全合

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 826

以一种"廉价"的方式获取页面的标题(By downmoon)

有园子里的朋友问到: “我需要得到一个web page的title,因为这个title一般都比较靠前,只要取得html 的前面少量内容就可以了。因为要取得很多个页面的title,如果下载整个html code, 肯定比较浪费时间。.net好像没有现成的类可以干这件事情(取得部分html) ,我应该如何去实现?” 一种比较"廉价"(即较小成本条件下)的解决思路: 第一步:取出含有页面...

dfdfadsf3443的博客 114

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

AgentWeb , 一个简洁易用的 Android Web 库

转自:http://www.jianshu.com/p/c80da1c41af7 AgentWeb 介绍 AgentWeb 是一个高度封装的 Android WebView ,简单易用 , 带有进度条 、 支持文件上传 、 下载 、 简化 Javascript 通信 ,加强 Web 安全的库 。 App 下载体验 前言 WebView 可谓是每个应用必备的一个控件了 ,但

Dijkstra的专栏 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

vscode中使用beautify插件格式化vue文件(自定义快捷键)

1. 先安装插件beautify 2.  打开设置 =&gt; 搜索 beautify.language  3.  配置 json 就行了   "beautify.language": { "js": { "type": [ "javascript", "json" ..

jiandan1127的博客 8万+

visio安装包

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

采集代理IP网站上的代理IP

///         /// 用正则表达式进行取IP         ///         private void GetIp(string Ips)         {            // string a = textBox1.Text.ToString();             //去IP的正则表达式             string pattern

暖阳的进步乐园 1937

如何修改web浏览器title文字及icon

&lt;%@ page pageEncoding="UTF-8"%&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;yongqi_wang的博客&lt;/title&gt; &lt;link rel="bookmark" type="image/x-icon" href="

yongqi_wang的博客 1万+

AgentWeb三方android web开源库的理解和认识

目前h5三方库很少,开源的也很少,比较主流点的就是AgentWeb和腾讯x5的一个Web库(AgentWebX5)。最近花了几天时间阅读AgentWeb源码和Demo。 分别从一下几点来说下感受: 1学习其中的技术和实现: (1)继承自WebView时,在xml布局引用,只需写包名和类名。 android:layout_width="match_parent" android:lay

qq_17478479的博客 1万+

android读取网页标题,如何获取WebView中页面的Title信息

应用开发中需要获取WebView当前页面的标题,可能通过对WebChromeClient.onReceivedTitle()方法的重写来实现代码如下:publicclassMainActivityextendsActivity{publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceStat...

weixin_39983051的博客 594

学习HTTP StatusCode的一些总结

学习HTTP StatusCode的一些总结   这几天学习了一下HTTP协议状态码(HTTP Status Code),做了一些学习总结。    一、什么是HTTP Status Code  客户机与服务器建立连接后,发送一个请求给服务器(如:Get /index.html http/1.1),在服务器接到请求后,给予客户机相应的响应信息,包括该信息的协议版本号、HTTP协议状态码、服务

yangzongbin的专栏 474

安卓加载webView获取title

APP中正常获得webView title的时候可以用 webView.setWebChromeClient(new WebChromeClient() { @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title)

689

一个强大的LogParser的UI工具--logparserlizard简介

日志分析,特别是IIS日志,一般人都会想到LogParser工具,的确很强。但是命令行的操作界面令很多非专业的管理人员望而生畏,现在好了,有一个可视化的LogParser的UI工具可以使用了!Log Parser Lizard 1.1,这是一款用Vc++.net写的logParser增强工具。主要有以下特点:1、封装了logParser命令,带图形界面,

邀月周记 3万+
上一篇: C#制作Windows service服务系列二--演示一个定期执行的windows服务及调试
下一篇: 袋中N个号码不同的球,任意取出三球中任二球均不连号的机率?(downmoon)
downmoon
博客等级 码龄24年 1676粉丝 494原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值