【问题标题】:net/http doesn't work in the Go Playgroundnet/http 在 Go Playground 中不起作用
【发布时间】:2021-04-10 19:23:53
【问题描述】:

谁能解释我做错了什么。所以基本上我正在尝试发出一个简单的 HTTP GET 请求。我从https://gobyexample.com/http-clients 复制了代码。当我在本地运行它时,一切正常,但在 go playground https://play.golang.org/p/-28ykONUD98 它给出:

panic: Get "http://gobyexample.com": dial tcp:lookup gobyexample.com 在 169.254.169.254:53 上:拨打 udp 169.254.169.254:53:连接:无路由 主持

goroutine 1 [运行]: main.main() /tmp/sandbox181131075/prog.go:13 +0x345

程序退出:状态 2。

【问题讨论】:

    标签: go go-playground


    【解决方案1】:

    来自https://blog.golang.org/playground

    与文件系统一样,playground 的网络堆栈是由 syscall 包实现的进程内伪造。它允许游乐场项目使用环回接口 (127.0.0.1)。对其他主机的请求将失败。

    所以这很正常,你的代码很好但是go playground只能连接到127.0.0.1

    【讨论】:

    • 此限制是为了使恶意用户无法使用 Playground 对 3rd 方主机执行攻击。
    • 我们如何才能为自托管的 Go Playground 禁用此限制?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    相关资源
    最近更新 更多