MENU
  
# poor mans http getter when curl is not installed (works for http only)
# httpget http://foo.com/blah
httpget() {
  local url="$1"
  local rest="${url#http://}"          # strip scheme
  local hostport="${rest%%/*}"         # host[:port]
  local path="/"
  [ "$hostport" != "$rest" ] && path="/${rest#*/}"   # path if any
  local host="${hostport%%:*}"
  local port="${hostport##*:}"
  [ "$port" = "$host" ] && port=80     # default port if none given
  exec 3<>"/dev/tcp/$host/$port" || { echo "connect failed: $host:$port" >&2; return 1; }
  printf 'GET %s HTTP/1.1\r\nHost: %s\r\nConnection: close\r\n\r\n' "$path" "$host" >&3
  cat <&3
  exec 3>&-
}

# poor mans "check if host is reachable or not" (hangs if not reachable)
(exec 3<>/dev/tcp/whatever.hostname.com/443) && echo "OPEN" || echo "CLOSED/unreachable"