org.apache.http.client.utils

## Class URLEncodedUtils

- java.lang.Object
- - org.apache.http.client.utils.URLEncodedUtils

    public class URLEncodedUtils
    extends Object

A collection of utilities for encoding URLs.

Since:
  4.0

### Field Summary

Fields
`static String` `CONTENT_TYPE` The default HTML form content type.

### Constructor Summary

Constructors
Constructor and Description
`URLEncodedUtils()`

### Method Summary

Methods
`static String` `format(Iterable<? extends org.apache.http.NameValuePair> parameters, char parameterSeparator, 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 String` `format(Iterable<? extends org.apache.http.NameValuePair> parameters, 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 String` `format(List<? extends org.apache.http.NameValuePair> parameters, char parameterSeparator, 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 String` `format(List<? extends org.apache.http.NameValuePair> parameters, 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 String` `formatSegments(Iterable<String> segments, Charset charset)` Returns a string consisting of joint encoded path segments.
`static String` `formatSegments(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 List<org.apache.http.NameValuePair>` `parse(org.apache.http.util.CharArrayBuffer buf, Charset charset, char... separators)` Returns a list of `NameValuePair`s parameters.
`static List<org.apache.http.NameValuePair>` `parse(org.apache.http.HttpEntity entity)` Returns a list of `NameValuePairs` as parsed from an `HttpEntity`.
`static void` `parse(List<org.apache.http.NameValuePair> parameters, Scanner scanner, String charset)` Deprecated. (4.4) use `parse(String, java.nio.charset.Charset)`
`static void` `parse(List<org.apache.http.NameValuePair> parameters, Scanner scanner, String parameterSepartorPattern, String charset)` Deprecated. (4.4) use `parse(org.apache.http.util.CharArrayBuffer, java.nio.charset.Charset, char...)`
`static List<org.apache.http.NameValuePair>` `parse(String s, Charset charset)` Returns a list of `NameValuePair`s URI query parameters.
`static List<org.apache.http.NameValuePair>` `parse(String s, Charset charset, char... separators)` Returns a list of `NameValuePairs` as parsed from the given string using the given character encoding.
`static List<org.apache.http.NameValuePair>` `parse(URI uri, Charset charset)` Returns a list of `NameValuePair`s URI query parameters.
`static List<org.apache.http.NameValuePair>` `parse(URI uri, String charsetName)` Deprecated. 4.5 Use `parse(URI, Charset)`
`static List<String>` `parsePathSegments(CharSequence s)` Returns a list of URI path segments.
`static List<String>` `parsePathSegments(CharSequence s, Charset charset)` Returns a list of URI path segments.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### CONTENT_TYPE

    public static final String CONTENT_TYPE

The default HTML form content type.

See Also:
  Constant Field Values

### Constructor Detail

#### URLEncodedUtils

    public URLEncodedUtils()

### Method Detail

#### parse

    @Deprecated
    public static List<org.apache.http.NameValuePair> parse(URI uri,
                                                       String charsetName)

Deprecated. 4.5 Use `parse(URI, Charset)`

#### parse

    public static List<org.apache.http.NameValuePair> parse(URI uri,
                                            Charset charset)

Returns a list of `NameValuePair`s URI query parameters. By convention, `'&'` and `';'` are accepted as parameter separators.

Parameters:
  `uri` - input URI.
  `charset` - parameter charset.
Returns:
  list of query parameters.
Since:
  4.5

#### parse

    public static List<org.apache.http.NameValuePair> parse(org.apache.http.HttpEntity entity)
                                                     throws IOException

Returns a list of `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.

Parameters:
  `entity` - The entity to parse
Returns:
  a list of `NameValuePair` as built from the URI's query portion.
Throws:
  `IOException` - If there was an exception getting the entity's data.

#### isEncoded

    public static boolean isEncoded(org.apache.http.HttpEntity entity)

Returns true if the entity's Content-Type header is `application/x-www-form-urlencoded`.

#### parse

    @Deprecated
    public static void parse(List<org.apache.http.NameValuePair> parameters,
                        Scanner scanner,
                        String charset)

Deprecated. (4.4) use `parse(String, java.nio.charset.Charset)`
Adds all parameters within the Scanner to the list of `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:
  `parameters` - List to add parameters to.
  `scanner` - Input that contains the parameters to parse.
  `charset` - Encoding to use when decoding the parameters.

#### parse

    @Deprecated
    public static void parse(List<org.apache.http.NameValuePair> parameters,
                        Scanner scanner,
                        String parameterSepartorPattern,
                        String charset)

Deprecated. (4.4) use `parse(org.apache.http.util.CharArrayBuffer, java.nio.charset.Charset, char...)`
Adds all parameters within the Scanner to the list of `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:
  `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.

#### parse

    public static List<org.apache.http.NameValuePair> parse(String s,
                                            Charset charset)

Returns a list of `NameValuePair`s URI query parameters. By convention, `'&'` and `';'` are accepted as parameter separators.

Parameters:
  `s` - URI query component.
  `charset` - charset to use when decoding the parameters.
Returns:
  list of query parameters.
Since:
  4.2

#### parse

    public static List<org.apache.http.NameValuePair> parse(String s,
                                            Charset charset,
                                            char... separators)

Returns a list of `NameValuePairs` as parsed from the given string using the given character encoding.

Parameters:
  `s` - input text.
  `charset` - parameter charset.
  `separators` - parameter separators.
Returns:
  list of query parameters.
Since:
  4.3

#### parse

    public static List<org.apache.http.NameValuePair> parse(org.apache.http.util.CharArrayBuffer buf,
                                            Charset charset,
                                            char... separators)

Returns a list of `NameValuePair`s parameters.

Parameters:
  `buf` - text to parse.
  `charset` - Encoding to use when decoding the parameters.
  `separators` - element separators.
Returns:
  a list of `NameValuePair` as built from the URI's query portion.
Since:
  4.4

#### parsePathSegments

    public static List<String> parsePathSegments(CharSequence s,
                                 Charset charset)

Returns a list of URI path segments.

Parameters:
  `s` - URI path component.
  `charset` - parameter charset.
Returns:
  list of segments.
Since:
  4.5

#### parsePathSegments

    public static List<String> parsePathSegments(CharSequence s)

Returns a list of URI path segments.

Parameters:
  `s` - URI path component.
Returns:
  list of segments.
Since:
  4.5

#### formatSegments

    public static String formatSegments(Iterable<String> segments,
                        Charset charset)

Returns a string consisting of joint encoded path segments.

Parameters:
  `segments` - the segments.
  `charset` - parameter charset.
Returns:
  URI path component
Since:
  4.5

#### formatSegments

    public static String formatSegments(String... segments)

Returns a string consisting of joint encoded path segments.

Parameters:
  `segments` - the segments.
Returns:
  URI path component
Since:
  4.5

#### format

    public static String format(List<? extends org.apache.http.NameValuePair> parameters,
                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.

Parameters:
  `parameters` - The parameters to include.
  `charset` - The encoding to use.
Returns:
  An `application/x-www-form-urlencoded` string

#### format

    public static String format(List<? extends org.apache.http.NameValuePair> parameters,
                char parameterSeparator,
                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.

Parameters:
  `parameters` - The parameters to include.
  `parameterSeparator` - The parameter separator, by convention, `'&'` or `';'`.
  `charset` - The encoding to use.
Returns:
  An `application/x-www-form-urlencoded` string
Since:
  4.3

#### format

    public static String format(Iterable<? extends org.apache.http.NameValuePair> parameters,
                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.

Parameters:
  `parameters` - The parameters to include.
  `charset` - The encoding to use.
Returns:
  An `application/x-www-form-urlencoded` string
Since:
  4.2

#### format

    public static String format(Iterable<? extends org.apache.http.NameValuePair> parameters,
                char parameterSeparator,
                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.

Parameters:
  `parameters` - The parameters to include.
  `parameterSeparator` - The parameter separator, by convention, `'&'` or `';'`.
  `charset` - The encoding to use.
Returns:
  An `application/x-www-form-urlencoded` string
Since:
  4.3