yermej wrote: >> There are examples included in the rubyntlm gem. I'm running Windows >> so they're in C:\ruby\lib\ruby\gems\1.8\gems\rubyntlm-0.1.1\examples\. >> YMMV. >> I'm really trying to do this in httpclient versus getting down into rubyntlm which shouldn't be necessary. I took another look at the httpclient.rb source and found what I was looking for on the get method which allows an extheader hash to be passed with arguments. Now I feel I am real close but I am still getting a 401 error. The script is now looking like: #!c:/ruby/bin/ruby.exe CERT_FILE = "c:/certs/jim_nopw2.pem" CA_CERT = "c:/ca_certs/servers_ca.cer" require 'rubygems' require 'httpclient' # using v2.1.2 and rubyntlm 0.1.1 installed client = HTTPClient.new client.ssl_config.set_trust_ca(CA_CERT) client.ssl_config.set_client_cert_file(CERT_FILE, CERT_FILE) resp = client.get("https://some_website.com/default1.asp"), nil, {'username' => 'DOMAIN\username', 'password' => 'password'}) puts resp.content puts resp.status When I look at resp.content in my debugger, I see that the @header_item array has the normal info (content type, content length, server, etc.) and also has ["WWW-Authenticate", "Negotiate"] and the second ["WWW-Authenticate", "NTLM"]. When I trace through the get method, I see that @negotiate_auth has a hash @auth which == {} and @auth_default which == null. I guess if I can figure out how to populate these correctly then I'm probably good to go. This will have to wait until tomorrow or Sunday night and a few more drinks. However, I'll send another S.O.S. that if someone has already figured this out and can show me a good code snippet, I'd be more than willing to share a few drinks (if you are around Seattle) or offer high praise and many thanks from afar. :-) -Jim