Package org.htmlunit

Class ProxyAutoConfig


  • public final class ProxyAutoConfig
    extends java.lang.Object
    Provides an implementation of Proxy Auto-Config (PAC).
    See Also:
    PAC file format
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean dateRange​(java.lang.String value1, java.lang.Object value2, java.lang.Object value3, java.lang.Object value4, java.lang.Object value5, java.lang.Object value6, java.lang.Object value7)
      Checks if today is included in the specified range.
      static boolean dnsDomainIs​(java.lang.String host, java.lang.String domain)
      Returns true if the domain of hostname matches.
      static int dnsDomainLevels​(java.lang.String host)
      Returns the number (integer) of DNS domain levels (number of dots) in the hostname.
      static java.lang.String dnsResolve​(java.lang.String host)
      Resolves the given DNS hostname into an IP address, and returns it in the dot separated format as a string.
      static java.lang.String evaluate​(java.lang.String content, java.net.URL url)
      Evaluates the FindProxyForURL method of the specified content.
      static boolean isInNet​(java.lang.String host, java.lang.String pattern, java.lang.String mask)
      Returns true if the IP address of the host matches the specified IP address pattern.
      static boolean isPlainHostName​(java.lang.String host)
      Returns true if there is no domain name in the hostname (no dots).
      static boolean isResolvable​(java.lang.String host)
      Tries to resolve the hostname.
      static boolean localHostOrDomainIs​(java.lang.String host, java.lang.String hostdom)
      Returns true if the hostname matches exactly the specified hostname, or if there is no domain name part in the hostname, but the unqualified hostname matches.
      static java.lang.String myIpAddress()
      Returns the IP address of the local host, as a string in the dot-separated integer format.
      static boolean shExpMatch​(java.lang.String str, java.lang.String shexp)
      Matches the specified string against a shell expression, not regular expression.
      static boolean timeRange​(java.lang.String value1, java.lang.Object value2, java.lang.Object value3, java.lang.Object value4, java.lang.Object value5, java.lang.Object value6, java.lang.Object value7)
      Checks if the time now is included in the specified range.
      static boolean weekdayRange​(java.lang.String wd1, java.lang.Object wd2, java.lang.Object gmt)
      Checks if today is included in the specified range.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • evaluate

        public static java.lang.String evaluate​(java.lang.String content,
                                                java.net.URL url)
        Evaluates the FindProxyForURL method of the specified content.
        Parameters:
        content - the JavaScript content
        url - the URL to be retrieved
        Returns:
        semicolon-separated result
      • isPlainHostName

        public static boolean isPlainHostName​(java.lang.String host)
        Returns true if there is no domain name in the hostname (no dots).
        Parameters:
        host - the hostname from the URL (excluding port number).
        Returns:
        true if there is no domain name in the hostname (no dots).
      • dnsDomainIs

        public static boolean dnsDomainIs​(java.lang.String host,
                                          java.lang.String domain)
        Returns true if the domain of hostname matches.
        Parameters:
        host - the hostname from the URL
        domain - the domain name to test the hostname against
        Returns:
        true if the domain of hostname matches.
      • localHostOrDomainIs

        public static boolean localHostOrDomainIs​(java.lang.String host,
                                                  java.lang.String hostdom)
        Returns true if the hostname matches exactly the specified hostname, or if there is no domain name part in the hostname, but the unqualified hostname matches.
        Parameters:
        host - the hostname from the URL
        hostdom - fully qualified hostname to match against
        Returns:
        true if the hostname matches exactly the specified hostname, or if there is no domain name part in the hostname, but the unqualified hostname matches.
      • isResolvable

        public static boolean isResolvable​(java.lang.String host)
        Tries to resolve the hostname. Returns true if succeeds.
        Parameters:
        host - the hostname from the URL.
        Returns:
        true if the specific hostname is resolvable.
      • isInNet

        public static boolean isInNet​(java.lang.String host,
                                      java.lang.String pattern,
                                      java.lang.String mask)
        Returns true if the IP address of the host matches the specified IP address pattern.
        Parameters:
        host - a DNS hostname, or IP address. If a hostname is passed, it will be resolved into an IP address by this function.
        pattern - an IP address pattern in the dot-separated format
        mask - mask for the IP address pattern informing which parts of the IP address should be matched against. 0 means ignore, 255 means match
        Returns:
        true if the IP address of the host matches the specified IP address pattern.
      • dnsResolve

        public static java.lang.String dnsResolve​(java.lang.String host)
        Resolves the given DNS hostname into an IP address, and returns it in the dot separated format as a string.
        Parameters:
        host - the hostname to resolve
        Returns:
        the resolved IP address
      • myIpAddress

        public static java.lang.String myIpAddress()
        Returns the IP address of the local host, as a string in the dot-separated integer format.
        Returns:
        the IP address of the local host, as a string in the dot-separated integer format.
      • dnsDomainLevels

        public static int dnsDomainLevels​(java.lang.String host)
        Returns the number (integer) of DNS domain levels (number of dots) in the hostname.
        Parameters:
        host - the hostname from the URL
        Returns:
        the number (integer) of DNS domain levels (number of dots) in the hostname.
      • shExpMatch

        public static boolean shExpMatch​(java.lang.String str,
                                         java.lang.String shexp)
        Matches the specified string against a shell expression, not regular expression.
        Parameters:
        str - a string to match
        shexp - the shell expression
        Returns:
        if the string matches
      • weekdayRange

        public static boolean weekdayRange​(java.lang.String wd1,
                                           java.lang.Object wd2,
                                           java.lang.Object gmt)
        Checks if today is included in the specified range.
        Parameters:
        wd1 - week day 1
        wd2 - week day 2, optional
        gmt - string of "GMT", or not specified
        Returns:
        if today is in range
      • dateRange

        public static boolean dateRange​(java.lang.String value1,
                                        java.lang.Object value2,
                                        java.lang.Object value3,
                                        java.lang.Object value4,
                                        java.lang.Object value5,
                                        java.lang.Object value6,
                                        java.lang.Object value7)
        Checks if today is included in the specified range.
        Parameters:
        value1 - the value 1
        value2 - the value 2
        value3 - the value 3
        value4 - the value 4
        value5 - the value 5
        value6 - the value 6
        value7 - the value 7
        Returns:
        if today is in range
      • timeRange

        public static boolean timeRange​(java.lang.String value1,
                                        java.lang.Object value2,
                                        java.lang.Object value3,
                                        java.lang.Object value4,
                                        java.lang.Object value5,
                                        java.lang.Object value6,
                                        java.lang.Object value7)
        Checks if the time now is included in the specified range.
        Parameters:
        value1 - the value 1
        value2 - the value 2
        value3 - the value 3
        value4 - the value 4
        value5 - the value 5
        value6 - the value 6
        value7 - the value 7
        Returns:
        if the time now is in the range