日期:2023年7月16日
作者:Commas
签名:(ง •_•)ง 积跬步以致千里,积小流以成江海……
注释:如果您觉得有所帮助
,帮忙点个赞
,也可以关注我
,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢 ^ - ^
1.01365 = 37.7834;0.99365 = 0.0255
1.02365 = 1377.4083;0.98365 = 0.0006
文章目录
- 一、精彩回顾
- 二、前言
- 三、读取HTML的三种方式
- (1)DataURI协议读取HTML
- (2)file协议读取HTML
- (3)http协议读取HTML
一、精彩回顾
《【Go|第5期】Lorca无法正常运行的解决方案》
《【Go|第6期】浅谈Lorca页面中Chrome正受到自动测试软件的控制》
《【Go|第7期】浅谈Lorca库中的Chromium命令行参数》
二、前言
Lorca
是一个用于构建跨平台桌面应用程序的 Go
语言库,它提供了将 Web
界面嵌入到 Go
应用程序中的功能。接下来我们来了解下使用 Lorca
库读取 HTML
的三种方式吧 ^ - ^
三、读取HTML的三种方式
(1)DataURI协议读取HTML
Data URL
(数据URL
)是一种URI
方案,允许将数据直接嵌入到网页或文档中,而不是链接到外部文件。它允许将小量数据作为URL的一部分进行包含。
- 语法:
data://<media type>/<data>
data:// | <media type> | <data> |
---|---|---|
data 协议方案(Scheme ) | 媒体类型或内容类型(Media Type or Content Type ),它用于表示嵌入在 URI 中的数据的格式和性质。 | 指实际嵌入在URI中的数据内容部分。数据可以是任何格式,例如文本、图像、音频、视频或二进制数据。数据内容通常使用Base64编码或URL编码进行表示。 |
一些常见的协议方案:
协议方案 | 说明 |
---|---|
http | 超文本传输协议,用于访问和传输 Web 页面和其他资源。 |
https | 安全的超文本传输协议,使用加密通信进行安全的 Web 访问。 |
ftp | 文件传输协议,用于在网络上进行文件传输。 |
file | 本地文件协议,用于访问计算机本地文件系统中的文件。 |
mailto | 电子邮件协议,用于发送电子邮件。 |
data | 数据协议,用于在URI中直接嵌入数据。 |
tel | 电话号码协议,用于指定电话号码进行拨号。 |
一些常见的媒体类型或内容类型:
媒体类型或内容类型 | 说明 |
---|---|
text/plain | 表示纯文本数据。 |
text/html | 表示 HTML 文档。 |
image/jpeg | 表示 JPEG 图像。 |
image/png | 表示 PNG 图像。 |
application/pdf | 表示 PDF 文档。 |
application/json | 表示 JSON 数据。 |
audio/mp3 | 表示 MP3 音频。 |
video/mp4 | 表示 MP4 视频。 |
- 示例:
运行 go run .
,页面显示如上所示
- 代码:
package main
import (
"net/url"
"github.com/zserge/lorca"
)
func main() {
// (1)创建一个新的窗口,宽480 x 高320
ui, _ := lorca.New("", "", 480, 320, "--remote-allow-origins=*")
defer ui.Close()
// (2)在Lorca中加载dataURI资源
// (2-1)HTML内容
html := `
<!DOCTYPE html>
<html>
<head>
<title>Embedded HTML</title>
</head>
<body>
<h1>Hello, Lorca!</h1>
<h1>Embedded HTML</h1>
</body>
</html>
`
// (2-2)创建一个HTML内容的data URL
dataURI := "data:text/html," + url.PathEscape(html)
// (2-3)在Lorca中加载dataURI
ui.Load(dataURI)
// (3)运行窗口直关闭
<-ui.Done()
}
(2)file协议读取HTML
文件协议(File Protocol
)是一种用于访问本地文件系统资源的URI
(Uniform Resource Identifier
)协议。它允许通过指定文件路径来访问本地计算机上的文件。
- 语法:
file://<host>/<path>
file// | <host> | <path> |
---|---|---|
file 协议 | 可选部分,通常为空,表示本地主机。 | 必需部分,表示文件在文件系统中的路径。 |
因为 <host>
通常为空,所以常见写法为 file///<path>
,示例 file///D:/loadhtml/index.html
。
- 示例:
- 代码:
package main
import "github.com/zserge/lorca"
func main() {
// (1)创建一个新的窗口,宽480 x 高320
ui, _ := lorca.New("", "", 480, 320, "--remote-allow-origins=*")
defer ui.Close()
// (2)在Lorca中加载本地文件(file协议 file://<host>/<path>)
// NO1: file:/// + path("/")
ui.Load("file:///D:/loadhtml/02FileLoadHtml/index.html")
// NO2: file:/// + path("\\")
//ui.Load("file:///D:\\loadhtml\\02FileLoadHtml\\index.html")
// (3)运行窗口直关闭
<-ui.Done()
}
(3)http协议读取HTML
HTTP
(Hypertext Transfer Protocol
)是一种用于在 Web
上进行数据传输的协议。它是一种无状态的、应用层的协议,基于客户端-服务器模型,通过请求-响应的方式进行通信。
- 语法:
http://<host>:<port>/<path>?<query>
http:// | <host> | <port> | <path> | <query> |
---|---|---|---|---|
http 协议方案(Scheme ) | 主机名或域名,指示要访问的服务器的地址。 | 要连接的服务器端口号,默认为80 | 服务器上资源的路径 | 包含了查询参数,用于向服务器传递附加的数据。 |
- 示例:
- 代码:
package main
import "github.com/zserge/lorca"
func main() {
// (1)创建一个新的窗口,宽480 x 高320
ui, _ := lorca.New("", "", 480, 320, "--remote-allow-origins=*")
defer ui.Close()
// (2)在Lorca中加载网络URL
ui.Load("https://www.csdn.net/")
// (3)运行窗口直关闭
<-ui.Done()
}
参考文章:
- 《github.com/zserge/lorca》
我的微信公众号 会飞的小猴子,等你来关注哦 ^ - ^
版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/131653604