如何返回访问 /cgi-bin 中 Go 程序的客户端的 IP 地址?
Posted
技术标签:
【中文标题】如何返回访问 /cgi-bin 中 Go 程序的客户端的 IP 地址?【英文标题】:How do I return the IP address of a client who is accessing a Go program in /cgi-bin? 【发布时间】:2021-07-18 13:53:37 【问题描述】:我试图简单地显示访问位于我们服务器的 /cgi-bin 目录中的 go 程序的客户端的 IP 地址。 C 程序中执行相同操作的行可能类似于:
printf("Your current IP address is: %s", getenv("REMOTE_ADDR"));
我对 Go 非常陌生,几乎没有介绍。我想它可以访问 http 请求标头,但我不确定如何执行此操作,而且我很难理解我找到的教程。
【问题讨论】:
到目前为止你得到了什么?你能分享一下这个应用程序如何工作的代码,具体来说,客户端是如何连接到这个 go server 的? cgi-bin 下的程序在环境中运行调用者信息。您应该简单地获取环境并将其打印出来:os.Getenv @Christian 我不愿意分享代码,因为它是为了学校作业。该服务器是运行 Ubuntu 的 Apache Web 服务器。我现在只有一些打印的 html。 @BurakSerdar 我现在正在查看 os 包的文档。 os.Getenv 是否有返回 ip 的默认密钥字符串? 【参考方案1】:使用“os”包我可以通过os.Getenv("REMOTE_ADDR")
获取客户端的IP。
【讨论】:
以上是关于如何返回访问 /cgi-bin 中 Go 程序的客户端的 IP 地址?的主要内容,如果未能解决你的问题,请参考以下文章