tools.go_host

Yohn Y. 2020-12-23 Parent:75309599b04f

2:ed90414559b7 Go to Latest

tools.go_host/src/host.go

. не верное использование сборочного инструментария

History
1 package main
3 import (
4 "fmt"
5 "net"
6 "os"
7 "sort"
9 idna "golang.org/x/net/idna"
10 )
12 func say_err(msg interface{}) {
13 _, err := fmt.Fprintf(os.Stderr, "ERROR: %s\n", msg)
14 if err != nil {
15 panic(err)
16 }
18 os.Exit(1)
19 }
21 func out_res(items []string) {
22 sort.Strings(items)
23 for _, i := range items {
24 fmt.Println(i)
25 }
26 }
28 func main() {
29 if len(os.Args) < 2 {
30 say_err("Need hostname or IP as argument")
31 }
33 arg := os.Args[1]
35 ip := net.ParseIP(arg)
37 if ip != nil {
38 res, err := net.LookupAddr(ip.String())
39 if err != nil {
40 say_err(err)
41 }
43 out_res(res)
45 } else {
46 hostname, err := idna.ToASCII(arg)
47 if err != nil {
48 say_err(err)
49 }
51 res, err := net.LookupHost(hostname)
52 if err != nil {
53 say_err(err)
54 }
56 out_res(res)
58 }
60 }