Package org.htmlunit

Class DefaultCredentialsProvider

java.lang.Object
org.htmlunit.DefaultCredentialsProvider
All Implemented Interfaces:
Serializable, org.apache.http.client.CredentialsProvider

public class DefaultCredentialsProvider extends Object implements org.apache.http.client.CredentialsProvider, Serializable
Default HtmlUnit implementation of the CredentialsProvider interface. Provides credentials for both web servers and proxies. Supports Digest authentication, Socks authentication and Basic HTTP authentication.
See Also:
  • Field Details

  • Constructor Details

    • DefaultCredentialsProvider

      public DefaultCredentialsProvider()
  • Method Details

    • addCredentials

      @Deprecated public void addCredentials(String username, String password)
      Deprecated.
      as of version 3.4.0; use addCredentials(String, char[]) instead
      Adds credentials for the specified username/password for any host/port/realm combination. The credentials may be for any authentication scheme, including NTLM, digest and basic HTTP authentication. If you are using sensitive username/password information, please do NOT use this method. If you add credentials using this method, any server that requires authentication may receive the specified username and password.
      Parameters:
      username - the username for the new credentials
      password - the password for the new credentials
    • addCredentials

      public void addCredentials(String username, char[] password)
      Adds credentials for the specified username/password for any host/port/realm combination. The credentials may be for any authentication scheme, including NTLM, digest and basic HTTP authentication. If you are using sensitive username/password information, please do NOT use this method. If you add credentials using this method, any server that requires authentication may receive the specified username and password.
      Parameters:
      username - the username for the new credentials
      password - the password for the new credentials
    • addCredentials

      @Deprecated public void addCredentials(String username, String password, String host, int port, String realm)
      Deprecated.
      as of version 3.4.0; use DefaultCredentialsProvider.addCredentials(String, char[], String, int, String) instead
      Adds credentials for the specified username/password on the specified host/port for the specified realm. The credentials may be for any authentication scheme, including NTLM, digest and basic HTTP authentication.
      Parameters:
      username - the username for the new credentials
      password - the password for the new credentials
      host - the host to which to the new credentials apply (null if applicable to any host)
      port - the port to which to the new credentials apply (negative if applicable to any port)
      realm - the realm to which to the new credentials apply (null if applicable to any realm)
    • addCredentials

      public void addCredentials(String username, char[] password, String host, int port, String realm)
      Adds credentials for the specified username/password on the specified host/port for the specified realm. The credentials may be for any authentication scheme, including NTLM, digest and basic HTTP authentication.
      Parameters:
      username - the username for the new credentials
      password - the password for the new credentials
      host - the host to which to the new credentials apply (null if applicable to any host)
      port - the port to which to the new credentials apply (negative if applicable to any port)
      realm - the realm to which to the new credentials apply (null if applicable to any realm)
    • addNTLMCredentials

      @Deprecated public void addNTLMCredentials(String username, String password, String host, int port, String workstation, String domain)
      Deprecated.
      as of version 3.4.0; use DefaultCredentialsProvider.addNTLMCredentials(String, char[], String, int, String, String) instead
      Adds NTLM credentials for the specified username/password on the specified host/port.
      Parameters:
      username - the username for the new credentials; should not include the domain to authenticate with; for example: "user" is correct whereas "DOMAIN\\user" is not
      password - the password for the new credentials
      host - the host to which to the new credentials apply (null if applicable to any host)
      port - the port to which to the new credentials apply (negative if applicable to any port)
      workstation - The workstation the authentication request is originating from. Essentially, the computer name for this machine.
      domain - the domain to authenticate within
    • addNTLMCredentials

      public void addNTLMCredentials(String username, char[] password, String host, int port, String workstation, String domain)
      Adds NTLM credentials for the specified username/password on the specified host/port.
      Parameters:
      username - the username for the new credentials; should not include the domain to authenticate with; for example: "user" is correct whereas "DOMAIN\\user" is not
      password - the password for the new credentials
      host - the host to which to the new credentials apply (null if applicable to any host)
      port - the port to which to the new credentials apply (negative if applicable to any port)
      workstation - The workstation the authentication request is originating from. Essentially, the computer name for this machine.
      domain - the domain to authenticate within
    • addSocksCredentials

      @Deprecated public void addSocksCredentials(String username, String password, String host, int port)
      Deprecated.
      as of version 3.4.0; use DefaultCredentialsProvider.addSocksCredentials(String, char[], String, int) instead
      Adds Socks credentials for the specified username/password on the specified host/port.
      Parameters:
      username - the username for the new credentials
      password - the password for the new credentials
      host - the host to which to the new credentials apply (null if applicable to any host)
      port - the port to which to the new credentials apply (negative if applicable to any port)
    • addSocksCredentials

      public void addSocksCredentials(String username, char[] password, String host, int port)
      Adds Socks credentials for the specified username/password on the specified host/port.
      Parameters:
      username - the username for the new credentials
      password - the password for the new credentials
      host - the host to which to the new credentials apply (null if applicable to any host)
      port - the port to which to the new credentials apply (negative if applicable to any port)
    • initSocksAuthenticatorIfNeeded

      private static void initSocksAuthenticatorIfNeeded(org.apache.http.client.CredentialsProvider provider)
    • setCredentials

      public void setCredentials(org.apache.http.auth.AuthScope authscope, org.apache.http.auth.Credentials credentials)
      Specified by:
      setCredentials in interface org.apache.http.client.CredentialsProvider
    • matchCredentials

      private static org.apache.http.auth.Credentials matchCredentials(Map<DefaultCredentialsProvider.AuthScopeProxy,org.apache.http.auth.Credentials> map, org.apache.http.auth.AuthScope authscope)
      Find matching credentials for the given authentication scope.
      Parameters:
      map - the credentials hash map
      authscope - the authentication scope
      Returns:
      the credentials
    • getCredentials

      public org.apache.http.auth.Credentials getCredentials(org.apache.http.auth.AuthScope authscope)
      Specified by:
      getCredentials in interface org.apache.http.client.CredentialsProvider
    • removeCredentials

      public boolean removeCredentials(org.apache.http.auth.AuthScope authscope)
      Removes the credentials from the AuthScope.
      Parameters:
      authscope - the AuthScope to remove the credentials of
      Returns:
      whether it was removed or not
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • clear

      public void clear()
      Specified by:
      clear in interface org.apache.http.client.CredentialsProvider