hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Magnus Gustavsson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPCLIENT-1185) IIS and fragments in "Location:" headers
Date Fri, 25 May 2012 10:55:22 GMT

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

Magnus Gustavsson commented on HTTPCLIENT-1185:
-----------------------------------------------

Thank you!

It worked perfectly fine with the SVN version. However, with the 4.2 release version it appears
to have regressed (same code as in the original post)?


% java BadRequest          
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 BadRequest.main(BadRequest.java:11)
Caused by: org.apache.http.HttpException: Unable to establish route: planned = {}->http://edu.mah.se;
current = {}->http://www.edu.mah.se
	at org.apache.http.impl.client.DefaultRequestDirector.establishRoute(DefaultRequestDirector.java:842)
	at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:645)
	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:480)
	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
	... 3 more


Kind regards, Magnus
                
> IIS and fragments in "Location:" headers
> ----------------------------------------
>
>                 Key: HTTPCLIENT-1185
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1185
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.1.3
>            Reporter: Magnus Gustavsson
>             Fix For: 4.2 Final
>
>
> We're using HttpClient to check the validity of links on our site, and lately users have
been reporting that working links are incorrectly flagged as invalid. Looking into the problem,
I find that it all boils down to us using code somewhat like this:
> import java.io.IOException;
> import org.apache.http.client.HttpClient;
> import org.apache.http.client.methods.HttpGet;
> import org.apache.http.impl.client.DefaultHttpClient;
> public class BadRequest {
>     public static void main(String[] args) {
> 	try {
> 	    HttpClient httpclient = new DefaultHttpClient();
> 	    HttpGet httpget = new HttpGet("http://www.edu.mah.se/KK3231/syllabus/");
> 	    System.out.println(httpclient.execute(httpget).getStatusLine().getStatusCode());
> 	} catch (IOException e) {
> 	    e.printStackTrace();
> 	}
>     }
> }
> Compiling and running the above example with HttpClient 4.1.3 results in a 400 code (20
April in 2012).
> Specifically in the following exchanges:
> GET /KK3231/syllabus/ HTTP/1.1
> Host: www.edu.mah.se
> Connection: Keep-Alive
> User-Agent: Apache-HttpClient/4.1.3 (java 1.5)
> HTTP/1.1 301 Moved Permanently
> Content-Type: text/html; charset=UTF-8
> Location: http://edu.mah.se/sv/Course/KK3231#Syllabus
> Server: Microsoft-IIS/7.5
> X-Powered-By: PHP/5.3.9
> X-Powered-By: ASP.NET
> Date: Fri, 20 Apr 2012 12:33:40 GMT
> Content-Length: 315
> GET /sv/Course/KK3231#Syllabus HTTP/1.1
> Host: edu.mah.se
> Connection: Keep-Alive
> User-Agent: Apache-HttpClient/4.1.3 (java 1.5)
> HTTP/1.1 400 Bad Request
> Content-Type: text/html; charset=us-ascii
> Server: Microsoft-HTTPAPI/2.0
> Date: Fri, 20 Apr 2012 12:33:40 GMT
> Connection: close
> Content-Length: 324
> I do realize that according to the HTTP 1.1 standard, the location header returned by
the server is invalid.
> However, all browsers seem to be able to handle a redirection like this. Thus I can hardly
tell users that the error is on the server side when they can paste it into any browser and
get a working page. So I was wondering if you would consider adapting to the current state
of things and perhaps strip fragments from redirect URIs?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
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


Mime
View raw message