gpt4 book ai didi

go - 如何在 Go 方法中调用/打开 URL?

转载 作者:数据小太阳 更新时间:2023-10-29 03:41:25 30 4
gpt4 key购买 nike

我在 Go 中设置了一个 Gorilla Mux 路由器。我在该路由器中设置了路由,以及与这些路由关联的函数处理程序。 如果您打开浏览器窗口并输入特定的 URL,路由器将完美运行。但是,我遇到的问题是,如果在命令行中输入了 URL,该怎么办。我知道如何从命令行参数存储 URL,但我不知道如何将存储为 URL 变量的 URL 转发到路由器。比如,如果 URL 是在命令行上给出的,而不是通过浏览器窗口输入的,那么你如何调用路由的函数处理程序?

代码:

u, err := url.Parse(os.Args[1])
if err != nil {
fmt.Println(err.Error())
}

host, port, _ := net.SplitHostPort(u.Host)

s := []string{":", port};

router := ANewRouter()

log.Fatal(http.ListenAndServe(strings.Join(s, ""), router))

//Route URL to router, somehow

最佳答案

如果您尝试在 Go 中发出 HTTP 请求,在标准库中有易于使用的方法用于该目的; https://golang.org/pkg/net/http/

正如 JimB 在评论中指出的那样,您可以使用 curl 之类的东西,而完全放弃使用 Go。从 Go 启动 curl 对我来说没有多大意义,因为你可以执行 resp, err := http.Get(urlArg) 并获得相同的结果.还有其他 HTTP 动词的方法,如果您需要对请求进行更精细的控制,您可以使用 Do 方法并创建 Request 对象来执行设置 header 等操作。

关于go - 如何在 Go 方法中调用/打开 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33354077/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com