gpt4 book ai didi

http - 在 Go 中构建 URL,包括服务器方案

转载 作者:IT王子 更新时间:2023-10-29 01:47:47 26 4
gpt4 key购买 nike

我正在用 Go 创建一个 REST API,我想在我的回复中构建指向其他资源的 URL。

基于http.Response,我可以获得HostURL

但是,我将如何获取服务器使用的传输方案? http 还是 https

我尝试检查 server.TLSConfig 是否为 nil 然后假设它使用的是 http 因为它在文档中说明了这一点 http.Server:

TLSConfig    *tls.Config   // optional TLS config, used by ListenAndServeTLS

但事实证明即使我不使用 ListenAndServeTLS 运行服务器也是如此。


或者这种构建我的 URL 的方式是错误的做事方式吗?还有其他一些正常的方法吗?

最佳答案

我在运行 http 和 https 时首选的解决方案是在 :80 上运行一个简单的监听器,将所有流量重定向到 https。那么任何真实的流量都可以假设为https。

或者,我相信您可以在 req.URL.Scheme 访问请求的 URL 以查看协议(protocol)。

或者您是指整个应用程序?如果您接受在 http 和 https 之间切换的配置,那么您不能看看他们选择了哪个吗?我想我可能缺少一些上下文。

应用程序通过标志或配置获取 baseURL 来生成外部 url 也是一种常见的做法。

关于http - 在 Go 中构建 URL,包括服务器方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39260308/

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