如何返回访问 /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 地址?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 cgi-bin 中执行 shell 脚本?

访问 PayPal Sandbox 交易服务时远程证书无效

GO语言(三十二):访问关系型数据库(下)

Go-内存To Be

如何在 GO 中访问另一个文件

开通小程序的客服功能