使用Golang从URL获取内容并转换为字符串
使用Golang从URL获取内容并转换为字符串 你好,我正在开发一个基于cPanel的软件(好吧,这不是重点)。实际上,我想从一个URL获取内容,并希望将该内容转换为字符串,因为我尝试了常规方法,它返回的是uint8字节码。 这是URL:http://myip.cpanel.net/v1.0/ 这个URL显示我们的IPv4地址,我想在一个变量中读取该IPv4地址,并希望将该IP转换为字符串,以便我能轻松使用它。
实际上,正如我所说,我正在开发一个需要许可证的软件,许可证是基于IP的,所以我想将其转换为字符串,以便我能轻松使用该IP,例如显示“您的IPv4地址:”:
fmt.Printf(ip)
if ip == "x.x.x.x" {
fmt.Println("yap")
} else {
fmt.Println("you're not allowed")
}
希望你能理解,所以请告诉我一种方法,如何从该URL读取内容并将该内容转换为字符串。
更多关于使用Golang从URL获取内容并转换为字符串的实战教程也可以访问 https://www.itying.com/category-94-b0.html
2 回复
使用 net.IP 类型,这是 IP 地址的规范形式。
package main
import (
"bytes"
"errors"
"fmt"
"io/ioutil"
"net"
"net/http"
)
func getMyIP() (net.IP, error) {
resp, err := http.Get("http://myip.cpanel.net/v1.0/")
if err != nil {
return nil, err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return nil, err
}
ip := net.ParseIP(string(bytes.TrimSpace(body)))
if ip == nil {
err := errors.New("invalid IP address")
return nil, err
}
return ip, nil
}
func main() {
myip, err := getMyIP()
fmt.Println(myip, err)
if err != nil {
return
}
fmt.Printf("Your IP Address: %s\n", myip)
allowed := net.ParseIP("77.111.246.40")
if len(myip) > 0 && myip.Equal(allowed) {
fmt.Println("yep")
} else {
fmt.Println("you’re not allowed")
}
}
.
77.111.246.40 <nil>
Your IP Address: 77.111.246.40
yep
更多关于使用Golang从URL获取内容并转换为字符串的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


