49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
package main
|
||
|
||
import (
|
||
"checkIP/modules"
|
||
"encoding/json"
|
||
"fmt"
|
||
_ "github.com/go-sql-driver/mysql"
|
||
"log"
|
||
"net/http"
|
||
"strings"
|
||
)
|
||
|
||
func main() {
|
||
//modules.ImportDatabaseToHex()
|
||
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
|
||
//测试用ip地址
|
||
//ip := "103.47.100.182"
|
||
//获取访问浏览器ip
|
||
ip := strings.Split(r.RemoteAddr, ":")[0]
|
||
//fmt.Println("客户端IP地址:", ip)
|
||
|
||
if ip == "" {
|
||
w.Write([]byte("Invalid IP"))
|
||
}
|
||
IP_info = modules.GetIPInformation(ip)
|
||
log.Println("客户端ip:", ip)
|
||
|
||
//使用mmdb查询ip
|
||
IpIformation := modules.MmdbQueryIP(ip)
|
||
|
||
//使用MySql查询ip
|
||
//dsn := modules.Readconfig()
|
||
//IpIformation := modules.MysqlQuery(ip, dsn)
|
||
|
||
log.Println("tag:main", IpIformation)
|
||
jsonData, err := json.Marshal(IpIformation)
|
||
if err != nil {
|
||
fmt.Println("JSON 序列化失败:", err)
|
||
return
|
||
}
|
||
// 设置响应的 Content-Type 为 application/json
|
||
w.Header().Set("Content-Type", "application/json")
|
||
// 返回 JSON 数据
|
||
//log.Println(jsonData)
|
||
w.Write(jsonData)
|
||
})
|
||
http.ListenAndServe(":8341", nil)
|
||
}
|