You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Saurabh Kr Singh (JIRA)" <ji...@apache.org> on 2013/08/23 15:09:51 UTC

[jira] [Commented] (HTTPCLIENT-1204) redirect error! java.net.URISyntaxException: Illegal character

    [ https://issues.apache.org/jira/browse/HTTPCLIENT-1204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13748517#comment-13748517 ] 

Saurabh Kr Singh commented on HTTPCLIENT-1204:
----------------------------------------------

I get this exception when the redirected url location is relative and contains the japanese characters. DefaultRedirectStrategy throws this exception inside createLocationURI.
                
> redirect error!  java.net.URISyntaxException: Illegal character 
> ----------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1204
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1204
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.1.3, 4.2 Final
>         Environment: centos6.2
> jdk1.6u25
>            Reporter: yy
>
> ==========Test.java===================== 
>  HttpClient client = new DefaultHttpClient();
>  HttpGet get = new HttpGet("http://localhost:8080/T/Test");
>  client.execute(get);
>  client.getConnectionManager().shutdown();
> ==========TestServlet.java=============================
>  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
>         response.sendRedirect("/xx?name=||dsdf&user=||");
>     }
> ===============================================
> Throws an exception when I run.
> Exception in thread "main" org.apache.http.client.ClientProtocolException
> 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:909)
> 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
> 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
> 	at com.Test.main(Test.java:20)
> Caused by: org.apache.http.ProtocolException: Invalid redirect URI: http://localhost:8080/xx?name=||dsdf&user=||
> 	at org.apache.http.impl.client.DefaultRedirectStrategy.createLocationURI(DefaultRedirectStrategy.java:189)
> 	at org.apache.http.impl.client.DefaultRedirectStrategy.getLocationURI(DefaultRedirectStrategy.java:140)
> 	at org.apache.http.impl.client.DefaultRedirectStrategy.getRedirect(DefaultRedirectStrategy.java:209)
> 	at org.apache.http.impl.client.DefaultRequestDirector.handleResponse(DefaultRequestDirector.java:1070)
> 	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:546)
> 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
> 	... 3 more
> Caused by: java.net.URISyntaxException: Illegal character in query at index 30: http://localhost:8080/xx?name=||dsdf&user=||
> 	at java.net.URI$Parser.fail(URI.java:2810)
> 	at java.net.URI$Parser.checkChars(URI.java:2983)
> 	at java.net.URI$Parser.parseHierarchical(URI.java:3073)
> 	at java.net.URI$Parser.parse(URI.java:3015)
> 	at java.net.URI.<init>(URI.java:577)
> 	at org.apache.http.impl.client.DefaultRedirectStrategy.createLocationURI(DefaultRedirectStrategy.java:187)
> 	... 8 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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