Package org.htmlunit
Class ProxyAutoConfig
- java.lang.Object
-
- org.htmlunit.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 theFindProxyForURL
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.
-
-
-
Method Detail
-
evaluate
public static java.lang.String evaluate(java.lang.String content, java.net.URL url)
Evaluates theFindProxyForURL
method of the specified content.- Parameters:
content
- the JavaScript contenturl
- 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 URLdomain
- 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 URLhostdom
- 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 formatmask
- 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 matchshexp
- 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 1wd2
- week day 2, optionalgmt
- 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 1value2
- the value 2value3
- the value 3value4
- the value 4value5
- the value 5value6
- the value 6value7
- 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 1value2
- the value 2value3
- the value 3value4
- the value 4value5
- the value 5value6
- the value 6value7
- the value 7- Returns:
- if the time now is in the range
-
-