Golang 如何检查一个字符串是否是一个有效的URL
在有些情况下,我们会想知道从 http 请求中得到的以字符串形式存在的URL是否有效。在这种情况下,我们可以使用Go标准库中的 net/url 包提供的两个函数。
例子1
第一个基本情况是检查URL是否结构良好且有效,为此,我们可以使用URL包中的 ParseRequestURI() 函数。
请看下面的代码。
输出
如果我们在上述代码上运行命令 go run main.go ,那么我们将在终端得到以下输出。
在上面的代码中,我们传递了一个带有主机和方案的有效URL,如果我们把它改成一个无效的URL,我们会得到一个错误。
例2
考虑一下下面的代码。
输出
如果我们在上述代码上运行命令 go run main.go ,那么我们将在终端得到以下输出。
在使用 ParseRequestURI() 时有一个问题,那就是它认为URL是在HTTP请求中收到的,这可能导致一些不一致的情况。
如果我们把 “Test:Test “ 字符串作为参数传给 ParseRequestURI() 函数,那么它将不会产生任何错误。因此,一个更好的选择是在使用 ParseRequestURI() 的同时使用 Parse 函数 。
例三
请看下面的代码。
输出
如果我们在上述代码上运行命令 go run main.go ,那么我们将在终端得到以下输出。