Peter Halicky created HTTPCORE-778:
--------------------------------------

             Summary: URIBuilder uses incorrect encoding method for URI fragment
                 Key: HTTPCORE-778
                 URL: https://issues.apache.org/jira/browse/HTTPCORE-778
             Project: HttpComponents HttpCore
          Issue Type: Bug
          Components: HttpCore
    Affects Versions: 5.3.3
            Reporter: Peter Halicky


URI fragment is encoded in URIBuilder using:
{code:java}
PercentCodec.encode(sb, this.fragment, this.charset); {code}
(line 372, end of buildString method)

This encodes all characters except UNRESERVED using the percent-format.

As per (obsoleted) RFC2396, URI fragment should use URIC safe-chars.

As per RFC3986, quite a bit more characters should not be encoded:
{code:java}
pct-encoded   = "%" HEXDIG HEXDIG
unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
sub-delims    = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"
fragment    = *( pchar / "/" / "?" ) {code}
Note that URIBuilder in httpclient 4.5.13 conforms to at least the old RFC2396, 
as it uses URIC set of safe characters.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to