java - Httpclient 4.3.6 : Invalid redirect URI

标签 java apache-httpclient-4.x

我在 httpclient 4.3.6 配置中使用 LaxRedirectStrategy。在 DefaultRedirectStrategy 类中重定向后,它会在 DefaultRedirectStrategy 类的 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

关于java - Httpclient 4.3.6 : Invalid redirect URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31246292/

相关文章:

java - 如何解决org.apache.http.NoHttpResponseException

java - 如何重新着色 GridView 项目

java - 如何使通用布局包含在其他布局中,但在 Android 应用程序开发中动态更改通用布局内的属性?

java - 如何在另一个插件中将Maven Exec插件用作库?

java - 使用无限通配符会捕获错误的情况,但只有在使用原始类型时才会被标记为警告

javascript - 在 Java 中使用 HTTPClient 下载文件

javac:需要不兼容的类型:类名<TYPEPARAM> 找到:类名<java.lang.Object>

java - 将 HttpClient jar 添加到 eclipse

android - java.lang.NoSuchFieldError : org. apache.http.message.BasicLineFormatter.INSTANCE 错误

ssl - Amazon Secrets Manager、Java 7 和 CipherSuites