Class WebClientOptions
- java.lang.Object
-
- org.htmlunit.WebClientOptions
-
- All Implemented Interfaces:
java.io.Serializable
public class WebClientOptions extends java.lang.Object implements java.io.SerializableRepresents options of aWebClient.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description WebClientOptions()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description longgetConnectionTimeToLive()Gets the connTimeToLive value for the HttpClient connection pool.intgetHistoryPageCacheLimit()Returns the maximum number ofpagesto cache in history.intgetHistorySizeLimit()Returns the maximum number ofpageskept inWebWindow.getHistory().java.lang.StringgetHomePage()Returns the client's current homepage.java.net.InetAddressgetLocalAddress()Returns local address to be used for request execution.intgetMaxInMemory()Returns the maximum bytes to have in memory, after which the content is saved to a file.ProxyConfiggetProxyConfig()Returns the proxy configuration for this client.intgetScreenHeight()Returns the screen height.intgetScreenWidth()Returns the screen width.char[]getSSLClientCertificatePassword()Gets the SSLClientCertificatePassword.java.security.KeyStoregetSSLClientCertificateStore()Gets the SSLClientCertificateStore.java.lang.String[]getSSLClientCipherSuites()Gets the cipher suites enabled for use on SSL connections.java.lang.String[]getSSLClientProtocols()Gets the protocol versions enabled for use on SSL connections.java.lang.StringgetSSLInsecureProtocol()Gets the SSL protocol, to be used only whensetUseInsecureSSL(boolean)is set totrue.java.security.KeyStoregetSSLTrustStore()Gets the SSL TrustStore.intgetTimeout()Gets the timeout value for theWebConnection.intgetWebSocketMaxBinaryMessageBufferSize()intgetWebSocketMaxBinaryMessageSize()intgetWebSocketMaxTextMessageBufferSize()intgetWebSocketMaxTextMessageSize()booleanisActiveXNative()Returns whether native ActiveX components are allowed or no.booleanisAppletEnabled()Returnstrueif Applet are enabled.booleanisCssEnabled()Returnstrueif CSS is enabled.booleanisDoNotTrackEnabled()Returnstrueif "Do Not Track" is enabled.booleanisDownloadImages()Returns whether to automatically download images by default, or not.booleanisFetchPolyfillEnabled()booleanisGeolocationEnabled()Returnstrueif Geolocation is enabled.booleanisJavaScriptEnabled()Returnstrueif JavaScript is enabled and the script engine was loaded successfully.booleanisPopupBlockerEnabled()Returnstrueif the popup window blocker is enabled.booleanisPrintContentOnFailingStatusCode()Returnstrueif the content of the resulting document will be printed to the console in the event of a failing response code.booleanisProxyPolyfillEnabled()booleanisRedirectEnabled()Returns whether or not redirections will be followed automatically on receipt of a redirect status code from the server.booleanisThrowExceptionOnFailingStatusCode()Returnstrueif an exception will be thrown in the event of a failing response code.booleanisThrowExceptionOnScriptError()Indicates if an exception should be thrown when a script execution fails (the default) or if it should be caught and just logged to allow page execution to continue.booleanisUseInsecureSSL()Indicates if insecure SSL should be used.booleanisWebSocketEnabled()Returnstrueif WebSockets are enabled.voidsetActiveXNative(boolean allow)Sets whether to allow native ActiveX or no.voidsetAppletEnabled(boolean enabled)Enables/disables Applet support.voidsetConnectionTimeToLive(long connectionTimeToLive)Sets the connTimeToLive of the HttpClient connection pool.voidsetCssEnabled(boolean enabled)Enables/disables CSS support.voidsetDoNotTrackEnabled(boolean enabled)Enables/disables "Do Not Track" support.voidsetDownloadImages(boolean downloadImages)Sets whether to automatically download images by default, or not.voidsetFetchPolyfillEnabled(boolean enabled)Sets whether or not fetch polyfill should be used.voidsetGeolocationEnabled(boolean enabled)Enables/disables Geolocation support.voidsetHistoryPageCacheLimit(int historyPageCacheLimit)Sets the maximum number ofpagesto cache in history.voidsetHistorySizeLimit(int historySizeLimit)Sets the History size limit.voidsetHomePage(java.lang.String homePage)Sets the client's homepage.voidsetJavaScriptEnabled(boolean enabled)Enables/disables JavaScript support.voidsetLocalAddress(java.net.InetAddress localAddress)Sets the local address to be used for request execution.voidsetMaxInMemory(int maxInMemory)Sets the maximum bytes to have in memory, after which the content is saved to a file.voidsetPopupBlockerEnabled(boolean enabled)Enable/disable the popup window blocker.voidsetPrintContentOnFailingStatusCode(boolean enabled)Specify whether or not the content of the resulting document will be printed to the console in the event of a failing response code.voidsetProxyConfig(ProxyConfig proxyConfig)Sets the proxy configuration for this client.voidsetProxyPolyfillEnabled(boolean enabled)Sets whether or not proxy polyfill should be used.voidsetRedirectEnabled(boolean enabled)Sets whether or not redirections will be followed automatically on receipt of a redirect status code from the server.voidsetScreenHeight(int screenHeight)Sets the screen height.voidsetScreenWidth(int screenWidth)Sets the screen width.voidsetSSLClientCertificate(java.io.InputStream certificateInputStream, java.lang.String certificatePassword, java.lang.String certificateType)Sets the SSL client certificate to use.voidsetSSLClientCertificate(java.net.URL certificateUrl, java.lang.String certificatePassword, java.lang.String certificateType)Sets the SSL client certificate to use.voidsetSSLClientCipherSuites(java.lang.String... sslClientCipherSuites)Sets the cipher suites enabled for use on SSL connections,nullto use default ones.voidsetSSLClientProtocols(java.lang.String... sslClientProtocols)Sets the protocol versions enabled for use on SSL connections,nullto use default ones.voidsetSSLInsecureProtocol(java.lang.String sslInsecureProtocol)Sets the SSL protocol, used only whensetUseInsecureSSL(boolean)is set totrue.voidsetSSLTrustStore(java.net.URL sslTrustStoreUrl, java.lang.String sslTrustStorePassword, java.lang.String sslTrustStoreType)Sets the SSL server certificate trust store.voidsetThrowExceptionOnFailingStatusCode(boolean enabled)Specify whether or not an exception will be thrown in the event of a failing status code.voidsetThrowExceptionOnScriptError(boolean enabled)Changes the behavior of this webclient when a script error occurs.voidsetTimeout(int timeout)Sets the timeout of theWebConnection.voidsetUseInsecureSSL(boolean useInsecureSSL)If set totrue, the client will accept connections to any host, regardless of whether they have valid certificates or not.voidsetWebSocketEnabled(boolean enabled)Enables/disables WebSocket support.voidsetWebSocketMaxBinaryMessageBufferSize(int webSocketMaxBinaryMessageBufferSize)Sets the WebSocket maxBinaryMessageBufferSize.voidsetWebSocketMaxBinaryMessageSize(int webSocketMaxBinaryMessageSize)Sets the WebSocket maxBinaryMessageSize.voidsetWebSocketMaxTextMessageBufferSize(int webSocketMaxTextMessageBufferSize)Sets the WebSocket maxTextMessageBufferSize.voidsetWebSocketMaxTextMessageSize(int webSocketMaxTextMessageSize)Sets the WebSocket maxTextMessageSize.
-
-
-
Method Detail
-
setUseInsecureSSL
public void setUseInsecureSSL(boolean useInsecureSSL)
If set totrue, the client will accept connections to any host, regardless of whether they have valid certificates or not. This is especially useful when you are trying to connect to a server with expired or corrupt certificates.- Parameters:
useInsecureSSL- whether or not to use insecure SSL
-
isUseInsecureSSL
public boolean isUseInsecureSSL()
Indicates if insecure SSL should be used.- Returns:
trueif insecure SSL should be used. Default isfalse.
-
setRedirectEnabled
public void setRedirectEnabled(boolean enabled)
Sets whether or not redirections will be followed automatically on receipt of a redirect status code from the server.- Parameters:
enabled- true to enable automatic redirection
-
isRedirectEnabled
public boolean isRedirectEnabled()
Returns whether or not redirections will be followed automatically on receipt of a redirect status code from the server.- Returns:
- true if automatic redirection is enabled
-
setSSLClientCertificate
public void setSSLClientCertificate(java.io.InputStream certificateInputStream, java.lang.String certificatePassword, java.lang.String certificateType)Sets the SSL client certificate to use. The needed parameters are used to construct aKeyStore.If the web server requires Renegotiation, you have to set system property "sun.security.ssl.allowUnsafeRenegotiation" to true, as hinted in TLS Renegotiation Issue.
- Parameters:
certificateInputStream- the input stream which represents the certificatecertificatePassword- the certificate passwordcertificateType- the type of certificate, usuallyjksorpkcs12
-
setSSLClientCertificate
public void setSSLClientCertificate(java.net.URL certificateUrl, java.lang.String certificatePassword, java.lang.String certificateType)Sets the SSL client certificate to use. The needed parameters are used to construct aKeyStore.If the web server requires Renegotiation, you have to set system property "sun.security.ssl.allowUnsafeRenegotiation" to true, as hinted in TLS Renegotiation Issue.
- Parameters:
certificateUrl- the URL which locates the certificatecertificatePassword- the certificate passwordcertificateType- the type of certificate, usuallyjksorpkcs12
-
getSSLClientCertificateStore
public java.security.KeyStore getSSLClientCertificateStore()
Gets the SSLClientCertificateStore.- Returns:
- the KeyStore for use on SSL connections
-
getSSLClientCertificatePassword
public char[] getSSLClientCertificatePassword()
Gets the SSLClientCertificatePassword.- Returns:
- the password
-
getSSLClientProtocols
public java.lang.String[] getSSLClientProtocols()
Gets the protocol versions enabled for use on SSL connections.- Returns:
- the protocol versions enabled for use on SSL connections
- See Also:
setSSLClientProtocols(String...)
-
setSSLClientProtocols
public void setSSLClientProtocols(java.lang.String... sslClientProtocols)
Sets the protocol versions enabled for use on SSL connections,nullto use default ones.- Parameters:
sslClientProtocols- the protocol versions- See Also:
SSLSocket.setEnabledProtocols(String[]),getSSLClientProtocols()
-
getSSLClientCipherSuites
public java.lang.String[] getSSLClientCipherSuites()
Gets the cipher suites enabled for use on SSL connections.- Returns:
- the cipher suites enabled for use on SSL connections
- See Also:
setSSLClientCipherSuites(String...)
-
setSSLClientCipherSuites
public void setSSLClientCipherSuites(java.lang.String... sslClientCipherSuites)
Sets the cipher suites enabled for use on SSL connections,nullto use default ones.- Parameters:
sslClientCipherSuites- the cipher suites- See Also:
SSLSocket.setEnabledCipherSuites(String[]),getSSLClientCipherSuites()
-
setJavaScriptEnabled
public void setJavaScriptEnabled(boolean enabled)
Enables/disables JavaScript support. By default, this property is enabled.- Parameters:
enabled-trueto enable JavaScript support
-
isJavaScriptEnabled
public boolean isJavaScriptEnabled()
Returnstrueif JavaScript is enabled and the script engine was loaded successfully.- Returns:
trueif JavaScript is enabled
-
setCssEnabled
public void setCssEnabled(boolean enabled)
Enables/disables CSS support. By default, this property is enabled. If disabled HtmlUnit will not download the linked css files and also not triggered the associated onload/onerror events.- Parameters:
enabled-trueto enable CSS support
-
isCssEnabled
public boolean isCssEnabled()
Returnstrueif CSS is enabled.- Returns:
trueif CSS is enabled
-
setAppletEnabled
public void setAppletEnabled(boolean enabled)
Enables/disables Applet support. By default, this property is disabled.
Note: Applet support is experimental and minimal
- Parameters:
enabled-trueto enable Applet support
-
isAppletEnabled
public boolean isAppletEnabled()
Returnstrueif Applet are enabled.- Returns:
trueif Applet is enabled
-
setPopupBlockerEnabled
public void setPopupBlockerEnabled(boolean enabled)
Enable/disable the popup window blocker. By default, the popup blocker is disabled, and popup windows are allowed. When set totrue,window.open()has no effect and returnsnull.- Parameters:
enabled-trueto enable the popup window blocker
-
isPopupBlockerEnabled
public boolean isPopupBlockerEnabled()
Returnstrueif the popup window blocker is enabled.- Returns:
trueif the popup window blocker is enabled
-
setGeolocationEnabled
public void setGeolocationEnabled(boolean enabled)
Enables/disables Geolocation support. By default, this property is disabled.- Parameters:
enabled-trueto enable Geolocation support
-
isGeolocationEnabled
public boolean isGeolocationEnabled()
Returnstrueif Geolocation is enabled.- Returns:
trueif Geolocation is enabled
-
setDoNotTrackEnabled
public void setDoNotTrackEnabled(boolean enabled)
Enables/disables "Do Not Track" support. By default, this property is disabled.- Parameters:
enabled-trueto enable "Do Not Track" support
-
isDoNotTrackEnabled
public boolean isDoNotTrackEnabled()
Returnstrueif "Do Not Track" is enabled.- Returns:
trueif "Do Not Track" is enabled
-
setPrintContentOnFailingStatusCode
public void setPrintContentOnFailingStatusCode(boolean enabled)
Specify whether or not the content of the resulting document will be printed to the console in the event of a failing response code. Successful response codes are in the range 200-299. The default is true.- Parameters:
enabled- True to enable this feature
-
isPrintContentOnFailingStatusCode
public boolean isPrintContentOnFailingStatusCode()
Returnstrueif the content of the resulting document will be printed to the console in the event of a failing response code.- Returns:
trueif the content of the resulting document will be printed to the console in the event of a failing response code- See Also:
setPrintContentOnFailingStatusCode(boolean)
-
setThrowExceptionOnFailingStatusCode
public void setThrowExceptionOnFailingStatusCode(boolean enabled)
Specify whether or not an exception will be thrown in the event of a failing status code. Successful status codes are in the range 200-299. The default is true.- Parameters:
enabled-trueto enable this feature
-
isThrowExceptionOnFailingStatusCode
public boolean isThrowExceptionOnFailingStatusCode()
Returnstrueif an exception will be thrown in the event of a failing response code.- Returns:
trueif an exception will be thrown in the event of a failing response code- See Also:
setThrowExceptionOnFailingStatusCode(boolean)
-
isThrowExceptionOnScriptError
public boolean isThrowExceptionOnScriptError()
Indicates if an exception should be thrown when a script execution fails (the default) or if it should be caught and just logged to allow page execution to continue.- Returns:
trueif an exception is thrown on script error (the default)
-
setThrowExceptionOnScriptError
public void setThrowExceptionOnScriptError(boolean enabled)
Changes the behavior of this webclient when a script error occurs.- Parameters:
enabled- indicates if exception should be thrown or not
-
setActiveXNative
public void setActiveXNative(boolean allow)
Sets whether to allow native ActiveX or no. Default value is false. Beware that you should never allow running native ActiveX components unless you fully trust the JavaScript code, as it is not controlled by the Java Virtual Machine.- Parameters:
allow- whether to allow or no
-
isActiveXNative
public boolean isActiveXNative()
Returns whether native ActiveX components are allowed or no.- Returns:
- whether native ActiveX components are allowed or no
-
getHomePage
public java.lang.String getHomePage()
Returns the client's current homepage.- Returns:
- the client's current homepage
-
setHomePage
public void setHomePage(java.lang.String homePage)
Sets the client's homepage.- Parameters:
homePage- the new homepage URL
-
getProxyConfig
public ProxyConfig getProxyConfig()
Returns the proxy configuration for this client.- Returns:
- the proxy configuration for this client
-
setProxyConfig
public void setProxyConfig(ProxyConfig proxyConfig)
Sets the proxy configuration for this client.- Parameters:
proxyConfig- the proxy configuration for this client
-
getTimeout
public int getTimeout()
Gets the timeout value for theWebConnection. The default timeout is 90 seconds.- Returns:
- the timeout value in milliseconds
- See Also:
setTimeout(int)
-
setTimeout
public void setTimeout(int timeout)
Sets the timeout of the
WebConnection. Set to zero for an infinite wait.Note: The timeout is used twice. The first is for making the socket connection, the second is for data retrieval. If the time is critical you must allow for twice the time specified here.
- Parameters:
timeout- the value of the timeout in milliseconds
-
getConnectionTimeToLive
public long getConnectionTimeToLive()
Gets the connTimeToLive value for the HttpClient connection pool.- Returns:
- the timeout value in milliseconds
-
setConnectionTimeToLive
public void setConnectionTimeToLive(long connectionTimeToLive)
Sets the connTimeToLive of the HttpClient connection pool. Use this if you are working with web pages behind a DNS based load balancer. Set to -1 (default) for disabling this timeout.- Parameters:
connectionTimeToLive- the value of the timeout in milliseconds
-
setSSLInsecureProtocol
public void setSSLInsecureProtocol(java.lang.String sslInsecureProtocol)
Sets the SSL protocol, used only whensetUseInsecureSSL(boolean)is set totrue.- Parameters:
sslInsecureProtocol- the SSL protocol for insecure SSL connections,nullto use for default value
-
getSSLInsecureProtocol
public java.lang.String getSSLInsecureProtocol()
Gets the SSL protocol, to be used only whensetUseInsecureSSL(boolean)is set totrue.- Returns:
- the SSL protocol for insecure SSL connections
-
setSSLTrustStore
public void setSSLTrustStore(java.net.URL sslTrustStoreUrl, java.lang.String sslTrustStorePassword, java.lang.String sslTrustStoreType)Sets the SSL server certificate trust store. All server certificates will be validated against this trust store.The needed parameters are used to construct a
KeyStore.- Parameters:
sslTrustStoreUrl- the URL which locates the trust storesslTrustStorePassword- the trust store passwordsslTrustStoreType- the type of trust store, usuallyjksorpkcs12
-
getSSLTrustStore
public java.security.KeyStore getSSLTrustStore()
Gets the SSL TrustStore.- Returns:
- the SSL TrustStore for insecure SSL connections
-
getMaxInMemory
public int getMaxInMemory()
Returns the maximum bytes to have in memory, after which the content is saved to a file.- Returns:
- the maximum bytes in memory
-
setMaxInMemory
public void setMaxInMemory(int maxInMemory)
Sets the maximum bytes to have in memory, after which the content is saved to a file. Set this to zero or -1 to deactivate the history at all.- Parameters:
maxInMemory- maximum bytes in memory
-
getHistorySizeLimit
public int getHistorySizeLimit()
Returns the maximum number ofpageskept inWebWindow.getHistory().- Returns:
- the maximum number of pages in history
-
setHistorySizeLimit
public void setHistorySizeLimit(int historySizeLimit)
Sets the History size limit. HtmlUnit uses SoftReferences<Page> for storing the pages that are part of the history. If you like to fine tune this you can usesetHistoryPageCacheLimit(int)to limit the number of page references stored by the history.- Parameters:
historySizeLimit- maximum number of pages in history
-
getHistoryPageCacheLimit
public int getHistoryPageCacheLimit()
Returns the maximum number ofpagesto cache in history.- Returns:
- the maximum number of pages to cache in history
-
setHistoryPageCacheLimit
public void setHistoryPageCacheLimit(int historyPageCacheLimit)
Sets the maximum number ofpagesto cache in history. If this value is smaller than the {getHistorySizeLimit()than HtmlUnit will only use soft references for the first historyPageCacheLimit entries in the history. For older entries only the url is saved; the page will be (re)retrieved on demand.- Parameters:
historyPageCacheLimit- maximum number of pages to cache in history default is Integer.MAX_VALUE; negative values are having the same effect as setting this to zero.
-
getLocalAddress
public java.net.InetAddress getLocalAddress()
Returns local address to be used for request execution.On machines with multiple network interfaces, this parameter can be used to select the network interface from which the connection originates.
Default:
null- Returns:
- the local address
-
setLocalAddress
public void setLocalAddress(java.net.InetAddress localAddress)
Sets the local address to be used for request execution.On machines with multiple network interfaces, this parameter can be used to select the network interface from which the connection originates.
- Parameters:
localAddress- the local address
-
setDownloadImages
public void setDownloadImages(boolean downloadImages)
Sets whether to automatically download images by default, or not.- Parameters:
downloadImages- whether to automatically download images by default, or not
-
isDownloadImages
public boolean isDownloadImages()
Returns whether to automatically download images by default, or not.- Returns:
- whether to automatically download images by default, or not.
-
setScreenWidth
public void setScreenWidth(int screenWidth)
Sets the screen width.- Parameters:
screenWidth- the screen width
-
getScreenWidth
public int getScreenWidth()
Returns the screen width.- Returns:
- the screen width
-
setScreenHeight
public void setScreenHeight(int screenHeight)
Sets the screen height.- Parameters:
screenHeight- the screen height
-
getScreenHeight
public int getScreenHeight()
Returns the screen height.- Returns:
- the screen height
-
setWebSocketEnabled
public void setWebSocketEnabled(boolean enabled)
Enables/disables WebSocket support. By default, this property is enabled.- Parameters:
enabled-trueto enable WebSocket support
-
isWebSocketEnabled
public boolean isWebSocketEnabled()
Returnstrueif WebSockets are enabled.- Returns:
trueif WebSockets are enabled
-
getWebSocketMaxTextMessageSize
public int getWebSocketMaxTextMessageSize()
- Returns:
- the WebSocket maxTextMessageSize
-
setWebSocketMaxTextMessageSize
public void setWebSocketMaxTextMessageSize(int webSocketMaxTextMessageSize)
Sets the WebSocket maxTextMessageSize.- Parameters:
webSocketMaxTextMessageSize- the new value
-
getWebSocketMaxTextMessageBufferSize
public int getWebSocketMaxTextMessageBufferSize()
- Returns:
- the WebSocket maxTextMessageBufferSize
-
setWebSocketMaxTextMessageBufferSize
public void setWebSocketMaxTextMessageBufferSize(int webSocketMaxTextMessageBufferSize)
Sets the WebSocket maxTextMessageBufferSize.- Parameters:
webSocketMaxTextMessageBufferSize- the new value
-
getWebSocketMaxBinaryMessageSize
public int getWebSocketMaxBinaryMessageSize()
- Returns:
- the WebSocket maxTextMessageSize
-
setWebSocketMaxBinaryMessageSize
public void setWebSocketMaxBinaryMessageSize(int webSocketMaxBinaryMessageSize)
Sets the WebSocket maxBinaryMessageSize.- Parameters:
webSocketMaxBinaryMessageSize- the new value
-
getWebSocketMaxBinaryMessageBufferSize
public int getWebSocketMaxBinaryMessageBufferSize()
- Returns:
- the WebSocket maxBinaryMessageBufferSize
-
setWebSocketMaxBinaryMessageBufferSize
public void setWebSocketMaxBinaryMessageBufferSize(int webSocketMaxBinaryMessageBufferSize)
Sets the WebSocket maxBinaryMessageBufferSize.- Parameters:
webSocketMaxBinaryMessageBufferSize- the new value
-
setFetchPolyfillEnabled
public void setFetchPolyfillEnabled(boolean enabled)
Sets whether or not fetch polyfill should be used.- Parameters:
enabled- true to enable fetch polyfill
-
isFetchPolyfillEnabled
public boolean isFetchPolyfillEnabled()
- Returns:
- true if the fetch api polyfill is enabled
-
setProxyPolyfillEnabled
public void setProxyPolyfillEnabled(boolean enabled)
Sets whether or not proxy polyfill should be used.- Parameters:
enabled- true to enable proxy polyfill
-
isProxyPolyfillEnabled
public boolean isProxyPolyfillEnabled()
- Returns:
- true if the proxy api polyfill is enabled
-
-