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
NameValuePair s 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
NameValuePair s 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
NameValuePair s 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 PUNCT
uationprivate static final java.util.BitSet PATHSAFE
UNRESERVED
plus PUNCT
uation plus / @private static final java.util.BitSet URIC
RESERVED
plus UNRESERVED
private 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)
NameValuePair
s 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)
NameValuePair
s 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)
NameValuePair
s 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