diff --git a/main.go b/main.go index c21ffe4..243b99c 100644 --- a/main.go +++ b/main.go @@ -18,18 +18,19 @@ func main() { func IPHandle(w http.ResponseWriter, req *http.Request) { address := req.FormValue("address") - addressType := "" ipDomain := "" domain := "" + ipInfoIP := "" + ipInfoDomain := "" switch { case address == "": //没传address值 则拿请求ip来查询 addressReq, _ := util.GetIP(req) address = addressReq - addressType = "self" case util.MatchIP(address): //传了address值 是ip 则直接查询 - addressType = "ip" + ipInfoIP = address + ipInfoDomain = "" default: //传了address值 不是ip 则查询ip ipAddress, err := util.GetIPByDomain(address) @@ -37,28 +38,22 @@ func IPHandle(w http.ResponseWriter, req *http.Request) { //提供非法域名 则拿请求ip来查询 addressReq, _ := util.GetIP(req) address = addressReq - addressType = "self" + ipInfoIP = address + ipInfoDomain = "" } else { //提供正确域名 则查询ip domain = address ipDomain = ipAddress address = ipAddress - addressType = "domain" + ipInfoIP = ipDomain + ipInfoDomain = domain + } } var ipInfo ip2region.IpInfo ipInfo, _ = ip2region.GetIPInfo(address, global.SearchType) - switch addressType { - case "ip": - ipInfo.IP = address - ipInfo.Domain = "" - case "domain": - ipInfo.IP = ipDomain - ipInfo.Domain = domain - case "self": - ipInfo.IP = address - ipInfo.Domain = "" - } + ipInfo.IP = ipInfoIP + ipInfo.Domain = ipInfoDomain res, _ := json.Marshal(ipInfo) fmt.Fprintln(w, string(res))