public class URLEncodedUtils
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CONTENT_TYPE
The default HTML form content type.
|
private static java.lang.String |
NAME_VALUE_SEPARATOR |
private static char |
PATH_SEPARATOR |
private static java.util.BitSet |
PATH_SEPARATORS |
private static java.util.BitSet |
PATH_SPECIAL |
private static java.util.BitSet |
PATHSAFE
Characters which are safe to use in a path,
i.e.
|
private static java.util.BitSet |
PUNCT
Punctuation characters: , ; : $ & + =
|
private static char |
QP_SEP_A |
private static char |
QP_SEP_S |
private static int |
RADIX |
private static java.util.BitSet |
RESERVED
Reserved characters, i.e.
|
private static java.util.BitSet |
UNRESERVED
Unreserved characters, i.e.
|
private static java.util.BitSet |
URIC
Characters which are safe to use in a query or a fragment,
i.e.
|
private static java.util.BitSet |
URLENCODER
Safe characters for x-www-form-urlencoded data, as per java.net.URLEncoder and browser behaviour,
i.e.
|
private static java.util.BitSet |
USERINFO
Characters which are safe to use in userinfo,
i.e.
|
| Constructor and Description |
|---|
URLEncodedUtils() |
| Modifier and Type | Method and Description |
|---|---|
private static java.util.List<org.apache.http.NameValuePair> |
createEmptyList() |
private static java.lang.String |
decodeFormFields(java.lang.String content,
java.nio.charset.Charset charset)
Decode/unescape www-url-form-encoded content.
|
private static java.lang.String |
decodeFormFields(java.lang.String content,
java.lang.String charset)
Decode/unescape www-url-form-encoded content.
|
private static java.lang.String |
encodeFormFields(java.lang.String content,
java.nio.charset.Charset charset)
Encode/escape www-url-form-encoded content.
|
private static java.lang.String |
encodeFormFields(java.lang.String content,
java.lang.String charset)
Encode/escape www-url-form-encoded content.
|
(package private) static java.lang.String |
encPath(java.lang.String content,
java.nio.charset.Charset charset)
Encode a String using the
PATH_SPECIAL set of characters. |
(package private) static java.lang.String |
encUric(java.lang.String content,
java.nio.charset.Charset charset)
Encode a String using the
URIC set of characters. |
(package private) static java.lang.String |
encUserInfo(java.lang.String content,
java.nio.charset.Charset charset)
Encode a String using the
USERINFO set of characters. |
static java.lang.String |
format(java.lang.Iterable<? extends org.apache.http.NameValuePair> parameters,
char parameterSeparator,
java.nio.charset.Charset charset)
Returns a String that is suitable for use as an
application/x-www-form-urlencoded
list of parameters in an HTTP PUT or HTTP POST. |
static java.lang.String |
format(java.lang.Iterable<? extends org.apache.http.NameValuePair> parameters,
java.nio.charset.Charset charset)
Returns a String that is suitable for use as an
application/x-www-form-urlencoded
list of parameters in an HTTP PUT or HTTP POST. |
static java.lang.String |
format(java.util.List<? extends org.apache.http.NameValuePair> parameters,
char parameterSeparator,
java.lang.String charset)
Returns a String that is suitable for use as an
application/x-www-form-urlencoded
list of parameters in an HTTP PUT or HTTP POST. |
static java.lang.String |
format(java.util.List<? extends org.apache.http.NameValuePair> parameters,
java.lang.String charset)
Returns a String that is suitable for use as an
application/x-www-form-urlencoded
list of parameters in an HTTP PUT or HTTP POST. |
static java.lang.String |
formatSegments(java.lang.Iterable<java.lang.String> segments,
java.nio.charset.Charset charset)
Returns a string consisting of joint encoded path segments.
|
static java.lang.String |
formatSegments(java.lang.String... segments)
Returns a string consisting of joint encoded path segments.
|
static boolean |
isEncoded(org.apache.http.HttpEntity entity)
Returns true if the entity's Content-Type header is
application/x-www-form-urlencoded. |
static java.util.List<org.apache.http.NameValuePair> |
parse(org.apache.http.util.CharArrayBuffer buf,
java.nio.charset.Charset charset,
char... separators)
Returns a list of
NameValuePairs parameters. |
static java.util.List<org.apache.http.NameValuePair> |
parse(org.apache.http.HttpEntity entity)
Returns a list of
NameValuePairs as parsed from an HttpEntity. |
static void |
parse(java.util.List<org.apache.http.NameValuePair> parameters,
java.util.Scanner scanner,
java.lang.String charset)
Deprecated.
(4.4) use
parse(String, java.nio.charset.Charset) |
static void |
parse(java.util.List<org.apache.http.NameValuePair> parameters,
java.util.Scanner scanner,
java.lang.String parameterSepartorPattern,
java.lang.String charset)
Deprecated.
|
static java.util.List<org.apache.http.NameValuePair> |
parse(java.lang.String s,
java.nio.charset.Charset charset)
Returns a list of
NameValuePairs URI query parameters. |
static java.util.List<org.apache.http.NameValuePair> |
parse(java.lang.String s,
java.nio.charset.Charset charset,
char... separators)
Returns a list of
NameValuePairs as parsed from the given string using the given character
encoding. |
static java.util.List<org.apache.http.NameValuePair> |
parse(java.net.URI uri,
java.nio.charset.Charset charset)
Returns a list of
NameValuePairs URI query parameters. |
static java.util.List<org.apache.http.NameValuePair> |
parse(java.net.URI uri,
java.lang.String charsetName)
Deprecated.
4.5 Use
parse(URI, Charset) |
static java.util.List<java.lang.String> |
parsePathSegments(java.lang.CharSequence s)
Returns a list of URI path segments.
|
static java.util.List<java.lang.String> |
parsePathSegments(java.lang.CharSequence s,
java.nio.charset.Charset charset)
Returns a list of URI path segments.
|
(package private) static java.util.List<java.lang.String> |
splitPathSegments(java.lang.CharSequence s) |
(package private) static java.util.List<java.lang.String> |
splitSegments(java.lang.CharSequence s,
java.util.BitSet separators) |
private static java.lang.String |
urlDecode(java.lang.String content,
java.nio.charset.Charset charset,
boolean plusAsBlank)
Decode/unescape a portion of a URL, to use with the query part ensure
plusAsBlank is true. |
private static java.lang.String |
urlEncode(java.lang.String content,
java.nio.charset.Charset charset,
java.util.BitSet safechars,
boolean blankAsPlus) |
public static final java.lang.String CONTENT_TYPE
private static final char QP_SEP_A
private static final char QP_SEP_S
private static final java.lang.String NAME_VALUE_SEPARATOR
private static final char PATH_SEPARATOR
private static final java.util.BitSet PATH_SEPARATORS
private static final java.util.BitSet UNRESERVED
_ - ! . ~ ' ( ) *
This list is the same as the unreserved list in
RFC 2396
private static final java.util.BitSet PUNCT
These are the additional characters allowed by userinfo.
private static final java.util.BitSet USERINFO
UNRESERVED plus PUNCTuationprivate static final java.util.BitSet PATHSAFE
UNRESERVED plus PUNCTuation plus / @private static final java.util.BitSet URIC
RESERVED plus UNRESERVEDprivate static final java.util.BitSet RESERVED
private static final java.util.BitSet URLENCODER
"-", "_", ".", "*"private static final java.util.BitSet PATH_SPECIAL
private static final int RADIX
@Deprecated
public static java.util.List<org.apache.http.NameValuePair> parse(java.net.URI uri,
java.lang.String charsetName)
parse(URI, Charset)public static java.util.List<org.apache.http.NameValuePair> parse(java.net.URI uri,
java.nio.charset.Charset charset)
NameValuePairs URI query parameters.
By convention, '&' and ';' are accepted as parameter separators.uri - input URI.charset - parameter charset.public static java.util.List<org.apache.http.NameValuePair> parse(org.apache.http.HttpEntity entity)
throws java.io.IOException
NameValuePairs as parsed from an HttpEntity.
The encoding is taken from the entity's Content-Encoding header.
This is typically used while parsing an HTTP POST.
entity - The entity to parseNameValuePair as built from the URI's query portion.java.io.IOException - If there was an exception getting the entity's data.public static boolean isEncoded(org.apache.http.HttpEntity entity)
application/x-www-form-urlencoded.@Deprecated
public static void parse(java.util.List<org.apache.http.NameValuePair> parameters,
java.util.Scanner scanner,
java.lang.String charset)
parse(String, java.nio.charset.Charset)parameters, as encoded by
encoding. For example, a scanner containing the string a=1&b=2&c=3 would add the
NameValuePairs a=1, b=2, and c=3 to the list of parameters. By convention, '&' and
';' are accepted as parameter separators.parameters - List to add parameters to.scanner - Input that contains the parameters to parse.charset - Encoding to use when decoding the parameters.@Deprecated
public static void parse(java.util.List<org.apache.http.NameValuePair> parameters,
java.util.Scanner scanner,
java.lang.String parameterSepartorPattern,
java.lang.String charset)
parse(org.apache.http.util.CharArrayBuffer, java.nio.charset.Charset, char...)parameters, as encoded by encoding. For
example, a scanner containing the string a=1&b=2&c=3 would
add the NameValuePairs a=1, b=2, and c=3 to the
list of parameters.parameters - List to add parameters to.scanner - Input that contains the parameters to parse.parameterSepartorPattern - The Pattern string for parameter separators, by convention "[&;]"charset - Encoding to use when decoding the parameters.public static java.util.List<org.apache.http.NameValuePair> parse(java.lang.String s,
java.nio.charset.Charset charset)
NameValuePairs URI query parameters.
By convention, '&' and ';' are accepted as parameter separators.s - URI query component.charset - charset to use when decoding the parameters.public static java.util.List<org.apache.http.NameValuePair> parse(java.lang.String s,
java.nio.charset.Charset charset,
char... separators)
NameValuePairs as parsed from the given string using the given character
encoding.s - input text.charset - parameter charset.separators - parameter separators.public static java.util.List<org.apache.http.NameValuePair> parse(org.apache.http.util.CharArrayBuffer buf,
java.nio.charset.Charset charset,
char... separators)
NameValuePairs parameters.buf - text to parse.charset - Encoding to use when decoding the parameters.separators - element separators.NameValuePair as built from the URI's query portion.static java.util.List<java.lang.String> splitSegments(java.lang.CharSequence s,
java.util.BitSet separators)
static java.util.List<java.lang.String> splitPathSegments(java.lang.CharSequence s)
public static java.util.List<java.lang.String> parsePathSegments(java.lang.CharSequence s,
java.nio.charset.Charset charset)
s - URI path component.charset - parameter charset.public static java.util.List<java.lang.String> parsePathSegments(java.lang.CharSequence s)
s - URI path component.public static java.lang.String formatSegments(java.lang.Iterable<java.lang.String> segments,
java.nio.charset.Charset charset)
segments - the segments.charset - parameter charset.public static java.lang.String formatSegments(java.lang.String... segments)
segments - the segments.public static java.lang.String format(java.util.List<? extends org.apache.http.NameValuePair> parameters,
java.lang.String charset)
application/x-www-form-urlencoded
list of parameters in an HTTP PUT or HTTP POST.parameters - The parameters to include.charset - The encoding to use.application/x-www-form-urlencoded stringpublic static java.lang.String format(java.util.List<? extends org.apache.http.NameValuePair> parameters,
char parameterSeparator,
java.lang.String charset)
application/x-www-form-urlencoded
list of parameters in an HTTP PUT or HTTP POST.parameters - The parameters to include.parameterSeparator - The parameter separator, by convention, '&' or ';'.charset - The encoding to use.application/x-www-form-urlencoded stringpublic static java.lang.String format(java.lang.Iterable<? extends org.apache.http.NameValuePair> parameters,
java.nio.charset.Charset charset)
application/x-www-form-urlencoded
list of parameters in an HTTP PUT or HTTP POST.parameters - The parameters to include.charset - The encoding to use.application/x-www-form-urlencoded stringpublic static java.lang.String format(java.lang.Iterable<? extends org.apache.http.NameValuePair> parameters,
char parameterSeparator,
java.nio.charset.Charset charset)
application/x-www-form-urlencoded
list of parameters in an HTTP PUT or HTTP POST.parameters - The parameters to include.parameterSeparator - The parameter separator, by convention, '&' or ';'.charset - The encoding to use.application/x-www-form-urlencoded stringprivate static java.util.List<org.apache.http.NameValuePair> createEmptyList()
private static java.lang.String urlEncode(java.lang.String content,
java.nio.charset.Charset charset,
java.util.BitSet safechars,
boolean blankAsPlus)
private static java.lang.String urlDecode(java.lang.String content,
java.nio.charset.Charset charset,
boolean plusAsBlank)
plusAsBlank is true.content - the portion to decodecharset - the charset to useplusAsBlank - if true, then convert '+' to space (e.g. for www-url-form-encoded content), otherwise leave as is.private static java.lang.String decodeFormFields(java.lang.String content,
java.lang.String charset)
content - the content to decode, will decode '+' as spacecharset - the charset to useprivate static java.lang.String decodeFormFields(java.lang.String content,
java.nio.charset.Charset charset)
content - the content to decode, will decode '+' as spacecharset - the charset to useprivate static java.lang.String encodeFormFields(java.lang.String content,
java.lang.String charset)
Uses the URLENCODER set of characters, rather than
the UNRESERVED set; this is for compatibilty with previous
releases, URLEncoder.encode() and most browsers.
content - the content to encode, will convert space to '+'charset - the charset to useprivate static java.lang.String encodeFormFields(java.lang.String content,
java.nio.charset.Charset charset)
Uses the URLENCODER set of characters, rather than
the UNRESERVED set; this is for compatibilty with previous
releases, URLEncoder.encode() and most browsers.
content - the content to encode, will convert space to '+'charset - the charset to usestatic java.lang.String encUserInfo(java.lang.String content,
java.nio.charset.Charset charset)
USERINFO set of characters.
Used by URIBuilder to encode the userinfo segment.
content - the string to encode, does not convert space to '+'charset - the charset to usestatic java.lang.String encUric(java.lang.String content,
java.nio.charset.Charset charset)
URIC set of characters.
Used by URIBuilder to encode the query and fragment segments.
content - the string to encode, does not convert space to '+'charset - the charset to usestatic java.lang.String encPath(java.lang.String content,
java.nio.charset.Charset charset)
PATH_SPECIAL set of characters.
Used by URIBuilder to encode path segments.
content - the string to encode, does not convert space to '+'charset - the charset to use