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 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.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
PATHSAFE 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 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 as parsed from the given string using
the given character encoding. |
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 as parsed from the given string using the given character
encoding. |
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 as built from the URI's query portion. |
static java.util.List<org.apache.http.NameValuePair> |
parse(java.net.URI uri,
java.lang.String charsetName)
Deprecated.
4.5 Use
parse(URI, Charset) |
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 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 int RADIX
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
as built from the URI's query portion. For example, a URI
of http://example.org/path/to/file?a=1&b=2&c=3
would return a list of three NameValuePairs, one for a=1,
one for b=2, and one for c=3. By convention, '&'
and ';'
are accepted as parameter separators.
This is typically useful while parsing an HTTP PUT. This API is currently only used for testing.
uri
- URI to parsecharset
- Charset to use while parsing the queryNameValuePair
as built from the URI's query portion.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
as parsed from the given string using the given character
encoding. By convention, '&'
and ';'
are accepted as parameter separators.s
- text to parse.charset
- Encoding to use when decoding the parameters.NameValuePair
as built from the URI's query portion.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
- text to parse.charset
- Encoding to use when decoding the parameters.separators
- element separators.NameValuePair
as built from the URI's query portion.public static java.util.List<org.apache.http.NameValuePair> parse(org.apache.http.util.CharArrayBuffer buf, java.nio.charset.Charset charset, char... separators)
NameValuePairs
as parsed from the given string using
the given character encoding.buf
- text to parse.charset
- Encoding to use when decoding the parameters.separators
- element separators.NameValuePair
as built from the URI's query portion.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.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)
PATHSAFE
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