main.go 770 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package main
  2. import (
  3. "fmt"
  4. "io/ioutil"
  5. "log"
  6. "net"
  7. "net/http"
  8. "strings"
  9. )
  10. func main() {
  11. //Create a dummy request
  12. publicIp := strings.TrimSpace(getPublicIP())
  13. fmt.Println("Your public IP address is: ", publicIp)
  14. domains := GetFreeDomain(publicIp)
  15. fmt.Println("Your free domain assigned by ISP is: ", domains)
  16. }
  17. func getPublicIP() string {
  18. //http://checkip.amazonaws.com/
  19. resp, err := http.Get("http://checkip.amazonaws.com/")
  20. if err != nil {
  21. log.Fatalln(err)
  22. }
  23. //We Read the response body on the line below.
  24. body, err := ioutil.ReadAll(resp.Body)
  25. if err != nil {
  26. log.Fatalln(err)
  27. }
  28. //Convert the body to type string
  29. sb := string(body)
  30. return sb
  31. }
  32. func GetFreeDomain(ipaddr string) []string {
  33. ptr, _ := net.LookupAddr(ipaddr)
  34. return ptr
  35. }