用Go语言写一个获取公网ip的接口

#Go语言初体验 - 获取公网IP小服务。由于免费的动态dns刷新IP很慢, 手动实时获取办公室网络公网IP。

#GetIp.go 是服务端程序, 用于返回当前访问的请求的公网IP。 demo地址: :56667/

#安装go环境

yum install -y go

#下载源码包

wget

#运行脚本

go run Getip.go &

评论说说大家最喜欢的语音

go ? python? java? php ?或者什么?

源代码如下

cat GetIp.go

package main

import (

"fmt"

"net/http"

"log"

"net"

)

func getRemoteIp(w http.ResponseWriter, r *http.Request) {

// get client ip address

ip,_,_ := net.SplitHostPort(r.RemoteAddr)

// print out the ip address

fmt.Fprintf(w,ip)

}

func main() {

http.HandleFunc("/", getRemoteIp) //设置访问的路由

err := http.ListenAndServe(":56667", nil) //设置监听的端口

if err != nil {

log.Fatal("Server ERROR: ", err)

}

}