Using http-stream's setHostname makes it possible for instance to test a Nginx virtual server served from 127.0.0.1. This is similar to curl -H 'Host: hostname' 127.0.0.1.
curl -H 'Host: hostname' 127.0.0.1
But to work with HTTPS, it is better to use curl --resolve 'hostname:80:127.0.0.1' hostname so that certificates can be checked for the correct hostname, instead of 127.0.0.1.
curl --resolve 'hostname:80:127.0.0.1' hostname
It would be great to have somthing similar to --resolve in http-streams.
I'm sorry, I don't really understand what you're trying to do. You can use hostnames when calling openConnectionSSL.
Say you have two development sites hosted as Nginx virtual servers locally, on 127.0.0.1. If you curl http://127.0.0.1, you will get one or the other site, depending on which one is considered the default one by Nginx.
You can make sure to get the one you want by setting the Host header with -H 'Host: hostname'. In that case Nginx will choose the correct virtual server.
-H 'Host: hostname'
But now if you use https instead of http, this will fail as the certificate for that hostname is for a real IP, not 127.0.0.1. Curl provides the --resolve option for that use case.
Have a look at the second answer here: http://stackoverflow.com/questions/3390549/set-curl-to-use-local-virtual-hosts