【Go|第8期】Lorca读取HTML的三种方式

4 篇文章 1 订阅

日期:2023年7月16日
作者:Commas
签名:(ง •_•)ง 积跬步以致千里,积小流以成江海……
注释:如果您觉得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢 ^ - ^
1.01365 = 37.7834;0.99365 = 0.0255
1.02365 = 1377.4083;0.98365 = 0.0006


在这里插入图片描述



一、精彩回顾

《【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)是一种用于访问本地文件系统资源的URIUniform 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

HTTPHypertext 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()
}


参考文章:


我的微信公众号 会飞的小猴子,等你来关注哦 ^ - ^


版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/131653604

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Commas.KM

码路共同进步,感恩一路有您

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值