101 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package ip
 | 
						|
 | 
						|
import (
 | 
						|
	"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
 | 
						|
	"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses"
 | 
						|
)
 | 
						|
 | 
						|
type IpInfo struct {
 | 
						|
	Ip        string `json:"ip"`
 | 
						|
	City      string `json:"city"`
 | 
						|
	Province  string `json:"province"`
 | 
						|
	Country   string `json:"country"`
 | 
						|
	Isp       string `json:"isp"`
 | 
						|
	Owner     string `json:"owner"`
 | 
						|
	Continent string `json:"continent"`
 | 
						|
	Accuracy  string `json:"accuracy"`
 | 
						|
	Adcode    string `json:"adcode"`
 | 
						|
	Areacode  string `json:"areacode"`
 | 
						|
	Asnumber  string `json:"asnumber"`
 | 
						|
	Radius    string `json:"radius"`
 | 
						|
	Latwgs    string `json:"latwgs"`
 | 
						|
	Lngwgs    string `json:"lngwgs"`
 | 
						|
	Source    string `json:"source"`
 | 
						|
	Timezone  string `json:"timezone"`
 | 
						|
	Zipcode   string `json:"zipcode"`
 | 
						|
	District  string `json:"district"`
 | 
						|
}
 | 
						|
 | 
						|
// IpsParam
 | 
						|
// 单个ip请求参数
 | 
						|
type IpParam struct {
 | 
						|
	Ip string `json:"ip"`
 | 
						|
}
 | 
						|
type IpRequest struct {
 | 
						|
	*requests.JsonRequest
 | 
						|
	Ip string `position:"Json" field:"ip"`
 | 
						|
}
 | 
						|
 | 
						|
// IpResponse
 | 
						|
// 单个ip返回参数
 | 
						|
type IpResponse struct {
 | 
						|
	*responses.BaseResponse
 | 
						|
	Code int    `json:"code"`
 | 
						|
	Msg  string `json:"msg"`
 | 
						|
	Data IpInfo `json:"data"`
 | 
						|
}
 | 
						|
 | 
						|
// CreateIpRequest
 | 
						|
// 同时支持ipv4、ipv6格式查询
 | 
						|
func CreateIpRequest(param IpParam) (req *IpRequest) {
 | 
						|
	req = &IpRequest{
 | 
						|
		JsonRequest: &requests.JsonRequest{},
 | 
						|
		Ip:          param.Ip,
 | 
						|
	}
 | 
						|
	req.InitWithApiInfo(HOST, VERSION, "/v1/getIp")
 | 
						|
	req.Method = requests.POST
 | 
						|
	return
 | 
						|
}
 | 
						|
func CreateIpResponse() (resp *IpResponse) {
 | 
						|
	resp = &IpResponse{
 | 
						|
		BaseResponse: &responses.BaseResponse{},
 | 
						|
	}
 | 
						|
	return
 | 
						|
}
 | 
						|
 | 
						|
// 多个ip请求参数
 | 
						|
type IpsParam struct {
 | 
						|
	Ips []string `json:"ips"`
 | 
						|
}
 | 
						|
type IpsRequest struct {
 | 
						|
	*requests.JsonRequest
 | 
						|
	Ips []string `position:"Json" field:"ips"`
 | 
						|
}
 | 
						|
 | 
						|
// IpsResponse
 | 
						|
// 多个ip返回参数
 | 
						|
type IpsResponse struct {
 | 
						|
	*responses.BaseResponse
 | 
						|
	Code int               `json:"code"`
 | 
						|
	Msg  string            `json:"msg"`
 | 
						|
	Data map[string]IpInfo `json:"data"`
 | 
						|
}
 | 
						|
 | 
						|
// CreateIpsRequest
 | 
						|
// 同时支持ipv4、ipv6格式查询
 | 
						|
func CreateIpsRequest(param IpsParam) (req *IpsRequest) {
 | 
						|
	req = &IpsRequest{
 | 
						|
		JsonRequest: &requests.JsonRequest{},
 | 
						|
		Ips:         param.Ips,
 | 
						|
	}
 | 
						|
	req.InitWithApiInfo(HOST, VERSION, "/v1/getIps")
 | 
						|
	req.Method = requests.POST
 | 
						|
	return
 | 
						|
}
 | 
						|
func CreateIpsResponse() (resp *IpsResponse) {
 | 
						|
	resp = &IpsResponse{
 | 
						|
		BaseResponse: &responses.BaseResponse{},
 | 
						|
	}
 | 
						|
	return
 | 
						|
}
 |