如何在go中检测有效的URL?
在使用RESTAPI向程序发送请求之前,我想在程序中输入URL时尝试检查有效URL。我在go中使用了regexp包。以下是我的regexp:如何在go中检测有效的URL?,go,Go,在使用RESTAPI向程序发送请求之前,我想在程序中输入URL时尝试检查有效URL。我在go中使用了regexp包。以下是我的regexp: urlRegex := "^(https?://)[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" 我使用regexp.MatchString()方法将其与输入匹配 match, _ := regexp.MatchString(urlRegex, args[0]) 但是,这为我提供
urlRegex := "^(https?://)[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
我使用regexp.MatchString()
方法将其与输入匹配
match, _ := regexp.MatchString(urlRegex, args[0])
但是,这为我提供了一个适用于http:////:9000 或http://a.
go中是否有我可以导入以进行更健壮的url检查的包?您需要使用
net/url.Parse()
读这篇文章:你是在玩可撤销的游戏吗?我试过用这个。对于上述任何一种情况,它都不会给我一个错误。例如:url.Parse(“//:9000”)不会返回错误。因为在上述情况下,url不是绝对的。没有给出任何协议。
import (
"net/url"
)
_, err := url.Parse(args[0])