42 lines
468 B
Go
42 lines
468 B
Go
package main
|
|
|
|
import (
|
|
"bufio"
|
|
"fmt"
|
|
"log"
|
|
"net/url"
|
|
"os"
|
|
)
|
|
|
|
func main() {
|
|
var urls []string
|
|
|
|
scanner := bufio.NewScanner(os.Stdin)
|
|
|
|
for scanner.Scan() {
|
|
u := scanner.Text()
|
|
|
|
if u != "" {
|
|
urls = append(urls, u)
|
|
}
|
|
}
|
|
|
|
if err := scanner.Err(); err != nil {
|
|
log.Println(err)
|
|
}
|
|
|
|
for _, url := range urls {
|
|
fmt.Println(host(url))
|
|
}
|
|
}
|
|
|
|
func host(u string) string {
|
|
parsed, err := url.Parse(u)
|
|
|
|
if err != nil {
|
|
return u
|
|
}
|
|
|
|
return parsed.Host
|
|
}
|