Httpclient 4.3.6:无效的重定向 URI

Httpclient 4.3.6: Invalid redirect URI

我在我的 httpclient 4.3.6 配置中使用 LaxRedirectStrategy。在 DefaultRedirectStrategy class 内重定向后,它在 DefaultRedirectStrategy class 的 createlocationURI 方法内创建位置。由于非法字符,此 URL“/harborone0457/Profile%20-%20{0}.aspx”失败。 任何帮助如何解决它。下面是日志

Caused by: org.apache.http.ProtocolException: Invalid redirect URI: /harborone0457/Profile%20-%20{0}.aspx
at org.apache.http.impl.client.DefaultRedirectStrategy.createLocationURI(DefaultRedirectStrategy.java:197)
at org.apache.http.impl.client.DefaultRedirectStrategy.getLocationURI(DefaultRedirectStrategy.java:145)
at org.apache.http.impl.client.DefaultRedirectStrategy.getRedirect(DefaultRedirectStrategy.java:217)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:119)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
... 8 more
Caused by: java.net.URISyntaxException: Illegal character in path at index 29: /harborone0457/Profile%20-%20{0}.aspx
at java.net.URI$Parser.fail(URI.java:2848)
at java.net.URI$Parser.checkChars(URI.java:3021)
at java.net.URI$Parser.parseHierarchical(URI.java:3105)
at java.net.URI$Parser.parse(URI.java:3063)
at java.net.URI.<init>(URI.java:588)
at org.apache.http.impl.client.DefaultRedirectStrategy.createLocationURI(DefaultRedirectStrategy.java:186)
... 15 more

问题是大括号 {} 需要编码才能形成有效的 URL:

  {       =       %7B
  }       =      %7D

URI 编码的完整列表可用here