title: Disable NTLM on Apache HttpClient 4.3.6
body: <p>I am trying to make a HttpClient to a service that support NTLM and Basic auth. In my case NTLM will not work, because the machine HttpClient is on is under a different domain to the service (thanks a corporate decision to very slowly migrate the name of the domain being used...). However it seems HttpClient will still try to use it anyway.</p>
  
  <pre><code>CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
  credentialsProvider.setCredentials(AuthScope.ANY,
      new UsernamePasswordCredentials(
              username,  password));
  
  HttpClient client = HttpClientBuilder.create()
          .setDefaultCredentialsProvider(credentialsProvider).build();
  HttpGet method = new HttpGet(uri);
  HttpResponse response = client.execute(method);
  </code></pre>
  
  <blockquote>
    <p>Severe:   [WARN] HttpAuthenticator - NEGOTIATE authentication error: No valid credentials provided (Mechanism level: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt))
    Severe:   [WARN] HttpAuthenticator - NTLM authentication error: Credentials cannot be used for NTLM authentication: org.apache.http.auth.UsernamePasswordCredentials</p>
  </blockquote>
  
  <p>I just want it to send the HTTP <code>Authentication: Basic ...</code> header. I have tested this outside any Java HTTP frameworks (e.g. using a raw ssl socket with a manually created HTTP request), so it seems to be some Java/Apache HTTP issue with it trying to do things I did not ask for and really don't want it to even try to do...</p>