you can test whether you're getting an HttpURLConnection (you well may) using the instanceof operator.
Would open up a lot of nice extra functionality dedicated to http processing.
Yes, always close connections. If it's already closed there may be an exception thrown, the documentation will help (or else a good book on network programming, I like O'Reilly's book).
That's not just true for this class, you should always clean up after yourself no matter what you're using (so Connections, Sockets, Streams, etc.).