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:22:52 UTC

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

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

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

This happens in my standalone client and the server I am hitting is a third-party. What is the expectation in value of "location" header ?
If I hit the original url in browser then redirection is being handled gracefully (chrome and firefox) and I can see in chrome devtools->network that location header contains japanese characters
                
> CLONE - redirect error!  java.net.URISyntaxException: Illegal character 
> ------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1392
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1392
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>         Environment: centos6.2
> jdk1.6u25
>            Reporter: Saurabh Kr Singh
>
> ==========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