golang 获取用户请求IP地址的代码
时间: 2023-04-05 10:04:51 浏览: 94
可以使用net包中的RemoteAddr方法获取用户请求的IP地址,示例代码如下:
```
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
ip := r.RemoteAddr
fmt.Fprintf(w, "Your IP address is: %s", ip)
})
http.ListenAndServe(":8080", nil)
}
```
当用户访问时,会返回类似于"Your IP address is: 127.0.0.1:12345"的信息,其中"127.0.0.1"就是用户的IP地址。
相关问题
golang 获取用户请求公网IP地址的代码
可以使用以下代码获取用户请求的公网IP地址:
```
package main
import (
"fmt"
"net/http"
"strings"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
ip := strings.Split(r.RemoteAddr, ":")[0]
fmt.Fprintf(w, "Your public IP address is: %s", ip)
})
http.ListenAndServe(":8080", nil)
}
```
这段代码使用了 Go 的标准库中的 `net/http` 包来创建一个简单的 HTTP 服务器。当用户访问服务器时,服务器会获取用户的请求地址,并从中提取出用户的公网IP地址。最后,服务器会将用户的公网IP地址返回给用户。
golang gin 获取用户公网IP地址的代码
可以使用gin框架中的c.ClientIP()方法获取用户的公网IP地址,示例代码如下:
```
func GetClientIP(c *gin.Context) {
ip := c.ClientIP()
c.JSON(http.StatusOK, gin.H{
"ip": ip,
})
}
```
这段代码会返回一个JSON格式的响应,其中包含用户的公网IP地址。