Fruit-HTML 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Fruit-HTML 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Fruit-HTML 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 未知
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发HTML解析器
开源组织
地区 国产
投 递 者 周其
适用人群 未知
收录时间 2017-10-23

软件简介

Fruit

简单的说Fruit之于html正如Gson之于Json,它能让你以一种注解的方式来描述解析的逻辑。下面是一个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class FruitInfo {
    @Pick("div#only")
    private String favorite;
    @Pick(value = "div#only", attr = Attrs.OWN_TEXT)
    private String favoriteOne;
    @Pick(value = "div#only", attr = Attrs.HTML)
    private String favoriteHtml;
    @Pick(value = "img.apple", attr = Attrs.SRC)
    private String img;
    @Pick(value = "a.author", attr = Attrs.HREF)
    private String blog;
    @Pick("div.fruit")
    private List<Item> items;

    public static class Item {
        @Pick("strong.name")
        private String name;
        @Pick(".color")
        private String color;
        @Pick(attr = "id")
        private int id;
    }
}

这里就不做更多的说明了,GitHub项目主页有更丰富的使用说明,欢迎访问查看。

V2er

V2er就是开始时说的那个要开发的V2EX客户端。
这个APP的开发是从去年底开始一直到今年9月中旬基本开发完成,到现在也迭代了几个版本,在市场上也获得了很多用户的好评与鼓励平均评分在4.8
欢迎各位朋友去下载使用,在Google Play酷安市场已上架。

前几天也写了个基本版 - V2er-Core把V2er的核心代码开源了。这个小项目完整的展示了如何利用 “Fruit/Retrofit2/OKHttp3/RxJava” 来开发这种APP(数据大部分来源于html及少量json接口)
下面一段代码是最终实现后的Retrofit API Service代码样例(是不是看上去和使用真的Json接口一样)

1
2
3
4
5
6
7
public interface APIs {
    @GET("/api/topics/hot.json") @Json
    Observable<DailyHotInfo> dailyHot();

    @GET("/") @Html
    Observable<NewsInfo> homeNews(@Query("tab") String tab);
}

最后再贴一张V2er-Core实现的效果图:


大家可以去这里找到它的源码。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
Square Retrofit 路径遍历漏洞
路径遍历
Square Retrofit是一款为Java编程提供类型安全的HTTP客户端。 Square Retrofit 2.0版本至2.5.0之前版本中由于没有禁止'.' 和'..'的使用且没有进行过滤和转义,导致存在目录遍历漏洞。攻击者可通过操纵URL利用该漏洞添加或删除原本设置权限之外的资源。
CVE-2018-1000850 MPS-2018-16072
2023-12-20 20:05
jsoup <1.14.2 存在拒绝服务漏洞
不可达退出条件的循环(无限循环)
jsoup 是一款 HTML 解析器,可直接解析某个URL地址、HTML文本内容。 1.14.2之前版本的 jsoup 在解析不受信任的 HTML 或 XML 时容易受到 DOS 攻击。如果解析器在用户提供的输入上运行,攻击者通过提供恶意数据导致解析器无限循环从而造成拒绝服务。用户可以对输入解析进行速率限制,根据系统资源限制输入的大小,或实现 thread watchdogs 来缓解此漏洞。
CVE-2021-37714 MPS-2021-17634
2023-12-20 20:05
jsoup <1.15.3 存在反射型 XSS 漏洞
XSS
jsoup 是一款 HTML 解析器,可直接解析某个URL地址、HTML文本内容。 jsoup 1.15.3之前版本中如果启用了非默认的 `SafeList.preserveRelativeLinks` 选项,则不会清理代码中包含在 url 中的 `javascript:` 字符,在用户点击该链接时产生 XSS 攻击,如果发布此 HTML 的站点未设置内容安全策略(CSP),攻击者可以利用此漏洞引导受害者点击包含恶意字符的 url 执行任意 JavaScript 代码。开发者可通过禁用 SafeList.preserveRelativeLinks 选项缓解此漏洞。
CVE-2022-36033 MPS-2022-51547
2023-12-20 20:05
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
5 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部