Go:获取主机名的套接字库

huangapple go评论82阅读模式
英文:

Go : socket library to get hostname

问题

在Go语言中,可以使用"net"包来实现类似Python socket库的功能。以下是在Go中实现上述代码的示例:

package main

import (
	"fmt"
	"net"
)

func main() {
	domain := "example.com"
	ip, err := net.LookupIP(domain + ".multi.surbl.org")
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	fmt.Println("IP:", ip[0].String())
}

在上述示例中,我们使用"net"包的LookupIP函数来将主机名转换为IPv4地址格式。请注意,LookupIP函数返回一个IP地址切片,我们可以通过索引访问其中的第一个IP地址。

希望对你有所帮助!

英文:

Is there any equivalent to python socket library in Go?
https://docs.python.org/2/library/socket.html

I want to do something like this in Go:

import socket
ip = socket.gethostbyname(domain + ".multi.surbl.org")
# Translate a host name to IPv4 address format.

What package can I use to do this in Go?

Thanks!

答案1

得分: 3

net命名空间包含了一些方法,用于将主机名转换为IP地址(以及一些类似于Python socket命名空间中的其他调用)。

你可能正在寻找的调用是net.LookupHostnet.LookupIP

addrs, err := net.LookupHost(hostname)
英文:

The net namespace contains methods to translate hostnames to IP addresses (and a few other calls similar to what's in the Python socket namespace)

The call you're probably looking for is net.LookupHost or net.LookupIP;

addrs, err := net.LookupHost(hostname)

huangapple
  • 本文由 发表于 2014年10月29日 03:17:10
  • 转载请务必保留本文链接:https://go.coder-hub.com/26616704.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定