Package com.simplicite.util.tools
Class HTTPTool
- java.lang.Object
-
- com.simplicite.util.tools.HTTPTool
-
- Direct Known Subclasses:
ServletTool
public class HTTPTool extends java.lang.Object
HTTP toolbox
This class only provides static variables and methods
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
AUTH_HEADER
Standard authorization header namestatic java.lang.String
BROWSER_CHROME
Googe Chrome regular expressionstatic java.lang.String
BROWSER_EDGE
Microsoft Edge regular expressionstatic java.lang.String
BROWSER_FIREFOX
Mozilla Firefox regular expressionstatic java.lang.String
BROWSER_IE
Microsoft Internet Explorer regular expressionstatic java.lang.String
BROWSER_IE11
Microsoft Internet Explorer 11 regular expressionstatic java.lang.String
BROWSER_OPERA
Opera regular expressionstatic java.lang.String
BROWSER_SAFARI
Apple Safari regular expressionstatic java.lang.String
BROWSER_SAFARI_ANDROID
Apple Safari (Android) regular expressionstatic java.lang.String
BROWSER_SAFARI_IPAD
Apple Safari (iPad) regular expressionstatic java.lang.String
BROWSER_SAFARI_IPHONE
Apple Safari (iPhone) regular expressionstatic int
CACHE_MAXAGE
Cache max agestatic java.lang.String
CONTENT_SECURITY_POLICY_HEADER
Content security policy (CSP) header namestatic java.lang.String
DISP_ATTACH
Attachment content dispositionstatic java.lang.String
DISP_INLINE
Inline content dispositionstatic int
HTTP_TIMEOUT
HTTP timeoutstatic java.lang.String
MEDIA_ARC
Archive media typestatic java.lang.String
MEDIA_CSS
CSS media typestatic java.lang.String
MEDIA_CSV
CSV media typestatic java.lang.String
MEDIA_DOC
DOC media typestatic java.lang.String
MEDIA_DOCX
DOCX media typestatic java.lang.String
MEDIA_HTML
HTML media typestatic java.lang.String
MEDIA_JS
Javascript media typestatic java.lang.String
MEDIA_JSON
JSON media typestatic java.lang.String
MEDIA_LOG
Log media typestatic java.lang.String
MEDIA_MD
Markdown media typestatic java.lang.String
MEDIA_PDF
PDF media typestatic java.lang.String
MEDIA_PPT
PPT media typestatic java.lang.String
MEDIA_PPTX
PPTX media typestatic java.lang.String
MEDIA_SQL
SQL media typestatic java.lang.String
MEDIA_TXT
Text media typestatic java.lang.String
MEDIA_XLS
XLS media typestatic java.lang.String
MEDIA_XLSX
XLSX media typestatic java.lang.String
MEDIA_XML
XML media typestatic java.lang.String
MEDIA_YAML
YAML media typestatic java.lang.String
MEDIA_ZIP
ZIP media typestatic java.lang.String
MIME_TYPE_BIN
Binary MIME typestatic java.lang.String
MIME_TYPE_CSS
CSS MIME typestatic java.lang.String
MIME_TYPE_CSV
CSV MIME typestatic java.lang.String
MIME_TYPE_DATA
Data MIME typestatic java.lang.String
MIME_TYPE_DOC
DOC MIME typestatic java.lang.String
MIME_TYPE_DOCX
DOCX MIME typestatic java.lang.String
MIME_TYPE_FORM
Form URL-encoded MIME typestatic java.lang.String
MIME_TYPE_GIF
GIF image MIME typestatic java.lang.String
MIME_TYPE_HTML
HTML MIME typestatic java.lang.String
MIME_TYPE_JPG
JPEG image MIME typestatic java.lang.String
MIME_TYPE_JS
Javascript MIME typestatic java.lang.String
MIME_TYPE_JSON
JSON MIME typestatic java.lang.String
MIME_TYPE_LOG
Log MIME typestatic java.lang.String
MIME_TYPE_MD
Markdown MIME typestatic java.lang.String
MIME_TYPE_PDF
PDF MIME typestatic java.lang.String
MIME_TYPE_PNG
PNG image MIME typestatic java.lang.String
MIME_TYPE_PPT
PPT MIME typestatic java.lang.String
MIME_TYPE_PPTX
PPTX MIME typestatic java.lang.String
MIME_TYPE_RSS
RSS MIME typestatic java.lang.String
MIME_TYPE_RTF
RTF MIME typestatic java.lang.String
MIME_TYPE_SQL
SQL MIME typestatic java.lang.String
MIME_TYPE_SVG
SVG image MIME typestatic java.lang.String
MIME_TYPE_TSV
TSV MIME typestatic java.lang.String
MIME_TYPE_TXT
Text MIME typestatic java.lang.String
MIME_TYPE_XLS
XLS MIME typestatic java.lang.String
MIME_TYPE_XLSX
XLSX MIME typestatic java.lang.String
MIME_TYPE_XML
XML MIME typestatic java.lang.String
MIME_TYPE_YAML
YAML MIME typestatic java.lang.String
MIME_TYPE_ZIP
ZIP MIME typestatic java.lang.String
NULL
Form null constantstatic java.lang.String
POWEREDBY_HEADER
Powered by headerstatic java.lang.String
X_AUTH_HEADER
Simplicite authorization header namestatic java.lang.String
X_AUTH_PARAM
Default Simplicite authorization URL parameter namestatic java.lang.String
X_FRAME_OPTION_HEADER
Frame option header namestatic java.lang.String
X_METHOD_HEADER
Standard HTTP method override header namestatic java.lang.String
X_SESSION_HEADER
Deprecated.Not used anymorestatic java.lang.String
X_XSS_PROTECTION_HEADER
XSS protection header name
-
Constructor Summary
Constructors Constructor Description HTTPTool()
Hidden default constructor
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static java.lang.String
append(java.lang.String url, java.lang.String params)
Append GET parameters to URLstatic java.lang.String
append(java.lang.String url, java.lang.String name, java.lang.Object value)
Append a GET parameter to URLstatic java.lang.String
append(java.lang.String url, java.util.Map<java.lang.String,java.lang.Object> params)
Append GET parameters to URLstatic java.lang.String
appendURLParameter(java.lang.String url, java.lang.String params)
Deprecated.Use appendstatic java.lang.String
appendURLParameter(java.lang.String url, java.lang.String name, java.lang.Object value)
Deprecated.Use appendstatic java.lang.String
appendURLParameter(java.lang.String url, java.util.Map<java.lang.String,java.lang.Object> params)
Deprecated.Use appendstatic java.lang.String
baseURL(java.lang.String url)
Get base URL without parametersstatic java.lang.String[]
call(java.net.HttpURLConnection conn, java.lang.Object request)
Call the HTTP request and disconnectstatic java.lang.String[]
call(java.net.HttpURLConnection conn, java.lang.Object request, java.lang.String encoding)
Call the HTTP request and disconnectstatic int
callMultipart(java.net.HttpURLConnection conn, java.lang.String[] textFields, java.lang.String[] values, java.lang.String[] fileFields, java.lang.String[] filePaths, java.lang.String[] dataFields, byte[][] data)
Call the HTTP request with multi-part datastatic java.lang.String[]
callMultipartWithReturn(java.net.HttpURLConnection conn, java.lang.String[] textFields, java.lang.String[] values, java.lang.String[] fileFields, java.lang.String[] filePaths, java.lang.String[] dataFields, byte[][] data)
Call the HTTP request and disconnect with multi-part datastatic java.lang.String
cleanURI(java.lang.String uri)
Get clean URIstatic java.lang.String
decode(java.lang.Object data)
URL decode given string using platform encodingstatic java.lang.String
decode(java.lang.Object data, java.lang.String encoding)
URL decode given string using specified encodingstatic java.lang.String
encode(java.lang.Object data)
URL encode given string using platform encodingstatic java.lang.String
encode(java.lang.Object data, java.lang.String encoding)
URL encode given string using specified encodingstatic java.util.Map<java.lang.String,java.lang.Object>
getBasicAuthLoginPassword(java.lang.String auth)
Get username and password from a HTTP basic authentication string (base64 encoded).static java.lang.String
getBasicAuthString(java.lang.String username, java.lang.String password)
Get HTTP basic authentication string (base64 encoded) for use in Authorization or Proxy-Authrorization headersstatic int
getCacheMaxAge(Grant g)
Get configured maximum cache age or defaultstatic java.lang.String
getCookie(java.net.HttpURLConnection conn)
Deprecated.Use getCookiesstatic java.lang.String
getCookies(java.net.HttpURLConnection conn)
Get a connection's cookiesstatic java.lang.String
getExtensionFromMedia(java.lang.String media)
Get file extension from media typestatic java.lang.String
getHeaderField(java.net.HttpURLConnection conn, java.lang.String name)
Get a connection header fieldstatic int
getIEVersion(java.lang.String userAgent)
Get Internet Explorer major version number (returns -1 if other browser)static java.lang.String
getImageMimeType(byte[] b)
Determine image MIME-type from content.static java.lang.String
getMediaFromMimeType(java.lang.String mime)
Get media type from MIME type (with or without encoding)static java.lang.String
getMimeTypeFromMedia(java.lang.String media)
Get MIME type with encoding from media typestatic java.lang.String
getMimeTypeWithEncoding(java.lang.String mime)
Get MIME type with platform encodingstatic java.lang.String
getMimeTypeWithEncoding(java.lang.String mime, java.lang.String encoding)
Get MIME type with specified encodingstatic java.net.HttpURLConnection
initConnection(java.lang.String url, java.lang.String method, java.lang.String contentType, java.lang.String cookie, java.lang.String user, java.lang.String pwd, boolean proxy, int timeout)
Get one HTTP connectionstatic javax.net.ssl.HttpsURLConnection
initConnectionSSL(java.lang.String url, java.lang.String method, java.lang.String contentType, java.lang.String cookie, java.io.InputStream jks, java.lang.String pwd, int timeout)
Get one HTTPS connectionstatic javax.net.ssl.HttpsURLConnection
initConnectionSSL(java.lang.String url, java.lang.String method, java.lang.String contentType, java.lang.String cookie, java.lang.String user, java.lang.String pwd, boolean proxy, int timeout)
Get one HTTPS connectionstatic boolean
isBrowser(java.lang.String userAgent, java.lang.String browser)
Checks if user agent is specified browser.static boolean
isChrome(java.lang.String userAgent)
Checks if user agent is Chrome.static boolean
isEdge(java.lang.String userAgent)
Checks if user agent is Edge.static boolean
isEmpty(java.lang.String value)
Check is HTTP value is empty or equals HTTP.NULLstatic boolean
isFirefox(java.lang.String userAgent)
Checks if user agent is Firefox.static boolean
isIE(java.lang.String userAgent)
Checks if user agent is Internet Explorer < 11.static boolean
isIE11(java.lang.String userAgent)
Checks if user agent is Internet Explorer 11.static boolean
isIEMaxVersion(java.lang.String userAgent, int maxVersion)
Check if browser is Internet Explorer with specified major version number or lessstatic boolean
isMobileBrowser(java.lang.String userAgent)
Checks if user agent is a mobile browser.static boolean
isMobileWebkit(java.lang.String userAgent)
Checks if user agent is a iPhone/iPad/iPod/Android webkit browser.static boolean
isOpera(java.lang.String userAgent)
Checks if user agent is Opera.static boolean
isSafari(java.lang.String userAgent)
Checks if user agent is Safari.static boolean
isURLAbsolute(java.lang.String url)
Checks if URL is absolutestatic java.lang.String
paramsToQueryString(java.util.Map<java.lang.String,java.lang.Object> params)
Get a query string from a parameters mapstatic java.lang.String
paramsToQueryString(java.util.Map<java.lang.String,java.lang.Object> params, java.lang.String encoding)
Get a query string from a parameters mapstatic java.util.Map<java.lang.String,java.lang.Object>
queryStringToParams(java.lang.String queryString)
Get a parameters map from a query stringstatic java.util.Map<java.lang.String,java.lang.Object>
queryStringToParams(java.lang.String queryString, java.lang.String encoding)
Get a parameters map from a query stringstatic java.lang.String[]
split(java.lang.String uri)
Split a cleaned URI into parts (removes the context path)
-
-
-
Field Detail
-
HTTP_TIMEOUT
public static final int HTTP_TIMEOUT
HTTP timeout- See Also:
- Constant Field Values
-
NULL
public static final java.lang.String NULL
Form null constant- See Also:
- Constant Field Values
-
CACHE_MAXAGE
public static final int CACHE_MAXAGE
Cache max age- See Also:
- Constant Field Values
-
MIME_TYPE_FORM
public static final java.lang.String MIME_TYPE_FORM
Form URL-encoded MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_HTML
public static final java.lang.String MIME_TYPE_HTML
HTML MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_JS
public static final java.lang.String MIME_TYPE_JS
Javascript MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_CSS
public static final java.lang.String MIME_TYPE_CSS
CSS MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_XML
public static final java.lang.String MIME_TYPE_XML
XML MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_TXT
public static final java.lang.String MIME_TYPE_TXT
Text MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_CSV
public static final java.lang.String MIME_TYPE_CSV
CSV MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_TSV
public static final java.lang.String MIME_TYPE_TSV
TSV MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_JSON
public static final java.lang.String MIME_TYPE_JSON
JSON MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_YAML
public static final java.lang.String MIME_TYPE_YAML
YAML MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_SQL
public static final java.lang.String MIME_TYPE_SQL
SQL MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_MD
public static final java.lang.String MIME_TYPE_MD
Markdown MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_LOG
public static final java.lang.String MIME_TYPE_LOG
Log MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_XLSX
public static final java.lang.String MIME_TYPE_XLSX
XLSX MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_XLS
public static final java.lang.String MIME_TYPE_XLS
XLS MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_DOCX
public static final java.lang.String MIME_TYPE_DOCX
DOCX MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_DOC
public static final java.lang.String MIME_TYPE_DOC
DOC MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_RTF
public static final java.lang.String MIME_TYPE_RTF
RTF MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_PPTX
public static final java.lang.String MIME_TYPE_PPTX
PPTX MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_PPT
public static final java.lang.String MIME_TYPE_PPT
PPT MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_PDF
public static final java.lang.String MIME_TYPE_PDF
PDF MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_ZIP
public static final java.lang.String MIME_TYPE_ZIP
ZIP MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_RSS
public static final java.lang.String MIME_TYPE_RSS
RSS MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_PNG
public static final java.lang.String MIME_TYPE_PNG
PNG image MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_JPG
public static final java.lang.String MIME_TYPE_JPG
JPEG image MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_GIF
public static final java.lang.String MIME_TYPE_GIF
GIF image MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_SVG
public static final java.lang.String MIME_TYPE_SVG
SVG image MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_BIN
public static final java.lang.String MIME_TYPE_BIN
Binary MIME type- See Also:
- Constant Field Values
-
MIME_TYPE_DATA
public static final java.lang.String MIME_TYPE_DATA
Data MIME type- See Also:
- Constant Field Values
-
MEDIA_HTML
public static final java.lang.String MEDIA_HTML
HTML media type- See Also:
- Constant Field Values
-
MEDIA_JS
public static final java.lang.String MEDIA_JS
Javascript media type- See Also:
- Constant Field Values
-
MEDIA_CSS
public static final java.lang.String MEDIA_CSS
CSS media type- See Also:
- Constant Field Values
-
MEDIA_XML
public static final java.lang.String MEDIA_XML
XML media type- See Also:
- Constant Field Values
-
MEDIA_TXT
public static final java.lang.String MEDIA_TXT
Text media type- See Also:
- Constant Field Values
-
MEDIA_CSV
public static final java.lang.String MEDIA_CSV
CSV media type- See Also:
- Constant Field Values
-
MEDIA_JSON
public static final java.lang.String MEDIA_JSON
JSON media type- See Also:
- Constant Field Values
-
MEDIA_YAML
public static final java.lang.String MEDIA_YAML
YAML media type- See Also:
- Constant Field Values
-
MEDIA_SQL
public static final java.lang.String MEDIA_SQL
SQL media type- See Also:
- Constant Field Values
-
MEDIA_LOG
public static final java.lang.String MEDIA_LOG
Log media type- See Also:
- Constant Field Values
-
MEDIA_MD
public static final java.lang.String MEDIA_MD
Markdown media type- See Also:
- Constant Field Values
-
MEDIA_XLSX
public static final java.lang.String MEDIA_XLSX
XLSX media type- See Also:
- Constant Field Values
-
MEDIA_XLS
public static final java.lang.String MEDIA_XLS
XLS media type- See Also:
- Constant Field Values
-
MEDIA_DOCX
public static final java.lang.String MEDIA_DOCX
DOCX media type- See Also:
- Constant Field Values
-
MEDIA_DOC
public static final java.lang.String MEDIA_DOC
DOC media type- See Also:
- Constant Field Values
-
MEDIA_PPTX
public static final java.lang.String MEDIA_PPTX
PPTX media type- See Also:
- Constant Field Values
-
MEDIA_PPT
public static final java.lang.String MEDIA_PPT
PPT media type- See Also:
- Constant Field Values
-
MEDIA_PDF
public static final java.lang.String MEDIA_PDF
PDF media type- See Also:
- Constant Field Values
-
MEDIA_ZIP
public static final java.lang.String MEDIA_ZIP
ZIP media type- See Also:
- Constant Field Values
-
MEDIA_ARC
public static final java.lang.String MEDIA_ARC
Archive media type- See Also:
- Constant Field Values
-
DISP_INLINE
public static final java.lang.String DISP_INLINE
Inline content disposition- See Also:
- Constant Field Values
-
DISP_ATTACH
public static final java.lang.String DISP_ATTACH
Attachment content disposition- See Also:
- Constant Field Values
-
POWEREDBY_HEADER
public static final java.lang.String POWEREDBY_HEADER
Powered by header- See Also:
- Constant Field Values
-
AUTH_HEADER
public static final java.lang.String AUTH_HEADER
Standard authorization header name- See Also:
- Constant Field Values
-
X_AUTH_HEADER
public static final java.lang.String X_AUTH_HEADER
Simplicite authorization header name- See Also:
- Constant Field Values
-
X_AUTH_PARAM
public static final java.lang.String X_AUTH_PARAM
Default Simplicite authorization URL parameter name- See Also:
- Constant Field Values
-
X_METHOD_HEADER
public static final java.lang.String X_METHOD_HEADER
Standard HTTP method override header name- See Also:
- Constant Field Values
-
X_SESSION_HEADER
@Deprecated public static final java.lang.String X_SESSION_HEADER
Deprecated.Not used anymore- See Also:
- Constant Field Values
-
CONTENT_SECURITY_POLICY_HEADER
public static final java.lang.String CONTENT_SECURITY_POLICY_HEADER
Content security policy (CSP) header name- See Also:
- Constant Field Values
-
X_FRAME_OPTION_HEADER
public static final java.lang.String X_FRAME_OPTION_HEADER
Frame option header name- See Also:
- Constant Field Values
-
X_XSS_PROTECTION_HEADER
public static final java.lang.String X_XSS_PROTECTION_HEADER
XSS protection header name- See Also:
- Constant Field Values
-
BROWSER_IE
public static final java.lang.String BROWSER_IE
Microsoft Internet Explorer regular expression- See Also:
- Constant Field Values
-
BROWSER_IE11
public static final java.lang.String BROWSER_IE11
Microsoft Internet Explorer 11 regular expression- See Also:
- Constant Field Values
-
BROWSER_EDGE
public static final java.lang.String BROWSER_EDGE
Microsoft Edge regular expression- See Also:
- Constant Field Values
-
BROWSER_FIREFOX
public static final java.lang.String BROWSER_FIREFOX
Mozilla Firefox regular expression- See Also:
- Constant Field Values
-
BROWSER_CHROME
public static final java.lang.String BROWSER_CHROME
Googe Chrome regular expression- See Also:
- Constant Field Values
-
BROWSER_SAFARI
public static final java.lang.String BROWSER_SAFARI
Apple Safari regular expression- See Also:
- Constant Field Values
-
BROWSER_SAFARI_IPHONE
public static final java.lang.String BROWSER_SAFARI_IPHONE
Apple Safari (iPhone) regular expression- See Also:
- Constant Field Values
-
BROWSER_SAFARI_IPAD
public static final java.lang.String BROWSER_SAFARI_IPAD
Apple Safari (iPad) regular expression- See Also:
- Constant Field Values
-
BROWSER_SAFARI_ANDROID
public static final java.lang.String BROWSER_SAFARI_ANDROID
Apple Safari (Android) regular expression- See Also:
- Constant Field Values
-
BROWSER_OPERA
public static final java.lang.String BROWSER_OPERA
Opera regular expression- See Also:
- Constant Field Values
-
-
Method Detail
-
isEmpty
public static boolean isEmpty(java.lang.String value)
Check is HTTP value is empty or equals HTTP.NULL- Parameters:
value
- Value to check
-
getCacheMaxAge
public static int getCacheMaxAge(Grant g)
Get configured maximum cache age or default- Parameters:
g
- Grant- Returns:
- Max cache age in seconds
-
getMimeTypeWithEncoding
public static java.lang.String getMimeTypeWithEncoding(java.lang.String mime)
Get MIME type with platform encoding- Parameters:
mime
- MIME type (one of MIME_TYPE_*)- Returns:
- MIME type with encoding
-
getMimeTypeWithEncoding
public static java.lang.String getMimeTypeWithEncoding(java.lang.String mime, java.lang.String encoding)
Get MIME type with specified encoding- Parameters:
mime
- MIME type (one of MIME_TYPE_*)encoding
- Encoding- Returns:
- MIME type with encoding
-
getMimeTypeFromMedia
public static java.lang.String getMimeTypeFromMedia(java.lang.String media)
Get MIME type with encoding from media type- Parameters:
media
- Media type (one of MEDIA_*)- Returns:
- MIME type with encoding
-
getMediaFromMimeType
public static java.lang.String getMediaFromMimeType(java.lang.String mime)
Get media type from MIME type (with or without encoding)- Parameters:
mime
- MIME type (one of MIME_TYPE_*)- Returns:
- Media type (one of MEDIA_*)
-
getExtensionFromMedia
public static java.lang.String getExtensionFromMedia(java.lang.String media)
Get file extension from media type- Parameters:
media
- Media type (one of MEDIA_*)- Returns:
- Lowercase file extension
-
getImageMimeType
public static java.lang.String getImageMimeType(byte[] b)
Determine image MIME-type from content.- Parameters:
b
- Image content as byte array- Returns:
- MIME type or
null
if not found
-
isBrowser
public static boolean isBrowser(java.lang.String userAgent, java.lang.String browser)
Checks if user agent is specified browser.- Parameters:
userAgent
- User agent stringbrowser
- Browser's pattern in user agent (user HTTPTool.BROWSER_* constants)- Returns:
- true if browser matches
-
isIE
public static boolean isIE(java.lang.String userAgent)
Checks if user agent is Internet Explorer < 11.- Parameters:
userAgent
- User agent string- Returns:
- true if browser matches
-
isIE11
public static boolean isIE11(java.lang.String userAgent)
Checks if user agent is Internet Explorer 11.- Parameters:
userAgent
- User agent string- Returns:
- true if browser matches
-
isEdge
public static boolean isEdge(java.lang.String userAgent)
Checks if user agent is Edge.- Parameters:
userAgent
- User agent string- Returns:
- true if browser matches
-
isFirefox
public static boolean isFirefox(java.lang.String userAgent)
Checks if user agent is Firefox.- Parameters:
userAgent
- User agent string- Returns:
- true if browser matches
-
isChrome
public static boolean isChrome(java.lang.String userAgent)
Checks if user agent is Chrome.- Parameters:
userAgent
- User agent string- Returns:
- true if browser matches
-
isOpera
public static boolean isOpera(java.lang.String userAgent)
Checks if user agent is Opera.- Parameters:
userAgent
- User agent string- Returns:
- true if browser matches
-
isSafari
public static boolean isSafari(java.lang.String userAgent)
Checks if user agent is Safari.- Parameters:
userAgent
- User agent string- Returns:
- true if browser matches
-
getIEVersion
public static int getIEVersion(java.lang.String userAgent)
Get Internet Explorer major version number (returns -1 if other browser)- Parameters:
userAgent
- User agent string- Returns:
- Internet Explorer major version number
-
isIEMaxVersion
public static boolean isIEMaxVersion(java.lang.String userAgent, int maxVersion)
Check if browser is Internet Explorer with specified major version number or less- Parameters:
userAgent
- User agent stringmaxVersion
- Maximum version to check if browser version is less or equals to it- Returns:
- true if browser is Internet Explorer and if major version matches
-
isMobileWebkit
public static boolean isMobileWebkit(java.lang.String userAgent)
Checks if user agent is a iPhone/iPad/iPod/Android webkit browser.- Parameters:
userAgent
- User agent string- Returns:
- true if browser matches
-
isMobileBrowser
public static boolean isMobileBrowser(java.lang.String userAgent)
Checks if user agent is a mobile browser.- Parameters:
userAgent
- User agent string- Returns:
- true if browser matches
-
baseURL
public static java.lang.String baseURL(java.lang.String url)
Get base URL without parameters- Parameters:
url
- URL to extract base URL from- Returns:
- Base URL
-
isURLAbsolute
public static boolean isURLAbsolute(java.lang.String url)
Checks if URL is absolute- Parameters:
url
- URL- Returns:
- True if URL is absolute
-
encode
public static java.lang.String encode(java.lang.Object data)
URL encode given string using platform encoding- Parameters:
data
- Data to URL encode (if not a String then toString() is applied to Object)- Returns:
- URL-encoded string
-
encode
public static java.lang.String encode(java.lang.Object data, java.lang.String encoding)
URL encode given string using specified encoding- Parameters:
data
- Data to URL encode (if not a String then toString() is applied to Object)encoding
- encoding- Returns:
- Encoded string
-
decode
public static java.lang.String decode(java.lang.Object data)
URL decode given string using platform encoding- Parameters:
data
- Data to URL decode (if not a String then toString() is applied to Object)- Returns:
- Decoded string
-
decode
public static java.lang.String decode(java.lang.Object data, java.lang.String encoding)
URL decode given string using specified encoding- Parameters:
data
- Data to URL decode (if not a String then toString() is applied to Object)encoding
- encoding- Returns:
- Decoded string
-
appendURLParameter
@Deprecated public static java.lang.String appendURLParameter(java.lang.String url, java.lang.String params)
Deprecated.Use append
-
append
public static java.lang.String append(java.lang.String url, java.lang.String params)
Append GET parameters to URL- Parameters:
url
- URLparams
- URL-encoded parameters (in the form name=value[&name=value[...]]- Returns:
- URL with parameters appended as GET parameters
-
appendURLParameter
@Deprecated public static java.lang.String appendURLParameter(java.lang.String url, java.lang.String name, java.lang.Object value)
Deprecated.Use append
-
append
public static java.lang.String append(java.lang.String url, java.lang.String name, java.lang.Object value)
Append a GET parameter to URL- Parameters:
url
- URLname
- Namevalue
- Non URL encoded value- Returns:
- URL with parameter appended as GET parameter
-
appendURLParameter
@Deprecated public static java.lang.String appendURLParameter(java.lang.String url, java.util.Map<java.lang.String,java.lang.Object> params)
Deprecated.Use append
-
append
public static java.lang.String append(java.lang.String url, java.util.Map<java.lang.String,java.lang.Object> params)
Append GET parameters to URL- Parameters:
url
- URLparams
- Map of name and non URL encoded values- Returns:
- URL with parameters appended as GET parameters
-
queryStringToParams
public static java.util.Map<java.lang.String,java.lang.Object> queryStringToParams(java.lang.String queryString)
Get a parameters map from a query string- Parameters:
queryString
- Query string- Returns:
- Parameters map
-
queryStringToParams
public static java.util.Map<java.lang.String,java.lang.Object> queryStringToParams(java.lang.String queryString, java.lang.String encoding)
Get a parameters map from a query string- Parameters:
queryString
- Query stringencoding
- Encoding- Returns:
- Parameters map
-
paramsToQueryString
public static java.lang.String paramsToQueryString(java.util.Map<java.lang.String,java.lang.Object> params)
Get a query string from a parameters map- Parameters:
params
- Parameters map- Returns:
- Query string
-
paramsToQueryString
public static java.lang.String paramsToQueryString(java.util.Map<java.lang.String,java.lang.Object> params, java.lang.String encoding)
Get a query string from a parameters map- Parameters:
encoding
- Encodingparams
- Parameters map- Returns:
- Query string
-
getBasicAuthString
public static java.lang.String getBasicAuthString(java.lang.String username, java.lang.String password)
Get HTTP basic authentication string (base64 encoded) for use in Authorization or Proxy-Authrorization headers- Parameters:
username
- User namepassword
- Password- Returns:
- HTTP basic authentication string
-
getBasicAuthLoginPassword
public static java.util.Map<java.lang.String,java.lang.Object> getBasicAuthLoginPassword(java.lang.String auth) throws ParamsException
Get username and password from a HTTP basic authentication string (base64 encoded).- Parameters:
auth
- Auth string with keys "login" and "password"- Returns:
- Username and password as map
- Throws:
ParamsException
-
initConnection
public static java.net.HttpURLConnection initConnection(java.lang.String url, java.lang.String method, java.lang.String contentType, java.lang.String cookie, java.lang.String user, java.lang.String pwd, boolean proxy, int timeout) throws java.io.IOException
Get one HTTP connection- Parameters:
url
- Full URLmethod
- GET or POSTcontentType
- Content-Type headercookie
- Cookiesuser
- Optional user for HTTP basic authenticationpwd
- Optional password for HTTP basic authenticationproxy
- true to use user and pwd in the Proxy-Authorization header instead of the Authorization headertimeout
- timeout value in milliseconds, 0 is interpreted as an infinite timeout- Returns:
- HTTP connection
- Throws:
java.io.IOException
-
initConnectionSSL
public static javax.net.ssl.HttpsURLConnection initConnectionSSL(java.lang.String url, java.lang.String method, java.lang.String contentType, java.lang.String cookie, java.lang.String user, java.lang.String pwd, boolean proxy, int timeout) throws java.io.IOException
Get one HTTPS connection- Parameters:
url
- Full URLmethod
- GET or POSTcontentType
- Content-Type headercookie
- Cookiesuser
- Optional user for HTTP basic authenticationpwd
- Optional password for HTTP basic authenticationproxy
- true to use user and pwd in the Proxy-Authorization header instead of the Authorization headertimeout
- timeout value in milliseconds, 0 is interpreted as an infinite timeout- Returns:
- HTTP connection
- Throws:
An
- exception if JKS certificate is incorrectjava.io.IOException
-
initConnectionSSL
public static javax.net.ssl.HttpsURLConnection initConnectionSSL(java.lang.String url, java.lang.String method, java.lang.String contentType, java.lang.String cookie, java.io.InputStream jks, java.lang.String pwd, int timeout) throws java.io.IOException
Get one HTTPS connection- Parameters:
url
- Full URLmethod
- GET or POSTcontentType
- Content-Type headercookie
- Cookiesjks
- Optional JKS key store (as stream) for certificate based authenticationpwd
- Optional password for certificate based authenticationtimeout
- timeout value in milliseconds, 0 is interpreted as an infinite timeout- Returns:
- HTTP connection
- Throws:
An
- exception if JKS certificate is incorrectjava.io.IOException
-
call
public static java.lang.String[] call(java.net.HttpURLConnection conn, java.lang.Object request) throws java.io.IOException, HTTPException
Call the HTTP request and disconnect- Parameters:
conn
- HTTP connectionrequest
- Message to send- Returns:
- Array with the response and the full cookie
- Throws:
An
- exception when status not equals to HTTP 20xjava.io.IOException
HTTPException
-
call
public static java.lang.String[] call(java.net.HttpURLConnection conn, java.lang.Object request, java.lang.String encoding) throws java.io.IOException, HTTPException
Call the HTTP request and disconnect- Parameters:
conn
- HTTP connectionrequest
- Message to sendencoding
- Encoding (used to encode request to and to decode response from)- Returns:
- Array with the string response and the full cookie
- Throws:
an
- exception when status not equals to HTTP 20xjava.io.IOException
HTTPException
-
callMultipart
public static int callMultipart(java.net.HttpURLConnection conn, java.lang.String[] textFields, java.lang.String[] values, java.lang.String[] fileFields, java.lang.String[] filePaths, java.lang.String[] dataFields, byte[][] data) throws java.io.IOException
Call the HTTP request with multi-part data- Parameters:
conn
- HTTP connectiontextFields
- field names to sendvalues
- field valuesfileFields
- file names to sendfilePaths
- file local pathsdataFields
- data names to send (format: name[;file name]data
- bytes to send- Returns:
- HTTP response code
- Throws:
java.io.IOException
-
callMultipartWithReturn
public static java.lang.String[] callMultipartWithReturn(java.net.HttpURLConnection conn, java.lang.String[] textFields, java.lang.String[] values, java.lang.String[] fileFields, java.lang.String[] filePaths, java.lang.String[] dataFields, byte[][] data) throws java.io.IOException, HTTPException
Call the HTTP request and disconnect with multi-part data- Parameters:
conn
- HTTP connectiontextFields
- field names to sendvalues
- field valuesfileFields
- file names to sendfilePaths
- file local pathsdataFields
- data names to senddata
- bytes to send- Returns:
- Array with the response and the full cookie
- Throws:
an
- exception when status not equals to HTTP 20xjava.io.IOException
HTTPException
-
getHeaderField
public static java.lang.String getHeaderField(java.net.HttpURLConnection conn, java.lang.String name)
Get a connection header field- Parameters:
conn
- HTTP connectionname
- Header field name- Returns:
- field value or null if not found
-
getCookie
@Deprecated public static java.lang.String getCookie(java.net.HttpURLConnection conn)
Deprecated.Use getCookies
-
getCookies
public static java.lang.String getCookies(java.net.HttpURLConnection conn)
Get a connection's cookies- Parameters:
conn
- HTTP connection- Returns:
- cookie value or null
-
cleanURI
public static java.lang.String cleanURI(java.lang.String uri)
Get clean URI- Parameters:
uri
- URI to clean
-
split
public static java.lang.String[] split(java.lang.String uri)
Split a cleaned URI into parts (removes the context path)- Parameters:
uri
- URI to split
-
-