This commit is contained in:
2024-09-24 13:31:28 +08:00
parent 2bdc5e666b
commit e952657166
17 changed files with 521 additions and 85 deletions

View File

@ -0,0 +1,7 @@
package resp
// HeadersResp 网络请求头响应
type HeadersResp struct {
IP string `json:"ip"`
Headers map[string]string `json:"headers"`
}

View File

@ -0,0 +1,14 @@
package server
import (
"api/utils/r"
"github.com/gin-gonic/gin"
)
// NetWorkApi 网络接口
type NetWorkApi struct{}
// GetHeaders 获取请求头
func (*NetWorkApi) GetHeaders(c *gin.Context) {
r.SuccessData(c, networkService.GetHeaders(c))
}

View File

@ -0,0 +1,7 @@
package server
import "api/api/network/service"
var (
networkService = service.NetWorkService{}
)

View File

@ -0,0 +1,30 @@
package service
import (
"api/api/network/model/resp"
"github.com/gin-gonic/gin"
)
// NetWorkService 网络服务
type NetWorkService struct{}
func (NetWorkService) GetHeaders(c *gin.Context) resp.HeadersResp {
// 获取所有的请求头
request := c.Request
headers := request.Header
clientIP := c.ClientIP()
// 将请求头转换为 map[string]string
headersMap := make(map[string]string)
for key, value := range headers {
headersMap[key] = value[0] // 注意,这里假设每个键只有一个值,你可以根据实际情况修改逻辑
}
headersMap["platform"] = headers.Get("Sec-CH-UA-Platform")
headersMap["model"] = headers.Get("Sec-CH-UA-Model")
result := resp.HeadersResp{}
result.IP = clientIP
result.Headers = headersMap
return result
}