hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nikola Petrov (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HTTPCLIENT-1312) Decompressing on redirects with redirection support off doesn't work properly
Date Wed, 30 Jan 2013 15:15:17 GMT

     [ https://issues.apache.org/jira/browse/HTTPCLIENT-1312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Nikola Petrov updated HTTPCLIENT-1312:
--------------------------------------

    Description: 
We are a having a problem with the httpclient implementation on redirecting websites that
support gzip encoding. The problem occurs only if the automatic redirect facilities are disabled.
Here is a resulting code that fails - note that if you set the HANDLE_REDIRECTS to true it
works

{code:language:java}
        private static final String PROBLEMATIC_URL = "http://www.linkedin.com/companies/7099?dspporc=&trk=jobtocomp&goback=%2Efjs_*1_*1_*1_I_gb_*1_*1_1_DD_true_*1_*2_*2_3+2+1_*2_*2_*2_*2_*2";

        public static void main(String[] args) throws ClientProtocolException,
                        IOException {
                HttpParams httpParams = new BasicHttpParams();
                httpParams.setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, Boolean.FALSE);
                HttpClient httpclient = new DecompressingHttpClient(new DefaultHttpClient(httpParams));

                ResponseHandler<Void> responseHandler = new ResponseHandler<Void>()
{

                        public Void handleResponse(HttpResponse response)
                                        throws ClientProtocolException, IOException {
                                response.getEntity().getContent();
                                return null;
                        }
                };
                httpclient.execute(new HttpGet(URI.create(PROBLEMATIC_URL)),
                                responseHandler);

        }
{code}

The exception I am getting from this is the following on version 4.2.2

Exception in thread "main" java.io.IOException: Attempted read from closed stream.
at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:138)
at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:121)
at java.util.zip.CheckedInputStream.read(CheckedInputStream.java:42)
at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:247)
at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:239)
at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:142)
at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:58)
at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:67)
at org.apache.http.client.entity.GzipDecompressingEntity.getDecompressingInputStream(GzipDecompressingEntity.java:56)
at org.apache.http.client.entity.DecompressingEntity.getContent(DecompressingEntity.java:72)
at org.apache.http.util.EntityUtils.consume(EntityUtils.java:83)
at org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:176)
at org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:165)
at org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:153)
at com.ontotext.test.App.main(App.java:42) 
    
> Decompressing on redirects with redirection support off doesn't work properly
> -----------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1312
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1312
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.2.2
>            Reporter: Nikola Petrov
>            Priority: Critical
>              Labels: gzip, redirect
>
> We are a having a problem with the httpclient implementation on redirecting websites
that support gzip encoding. The problem occurs only if the automatic redirect facilities are
disabled. Here is a resulting code that fails - note that if you set the HANDLE_REDIRECTS
to true it works
> {code:language:java}
>         private static final String PROBLEMATIC_URL = "http://www.linkedin.com/companies/7099?dspporc=&trk=jobtocomp&goback=%2Efjs_*1_*1_*1_I_gb_*1_*1_1_DD_true_*1_*2_*2_3+2+1_*2_*2_*2_*2_*2";
>         public static void main(String[] args) throws ClientProtocolException,
>                         IOException {
>                 HttpParams httpParams = new BasicHttpParams();
>                 httpParams.setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, Boolean.FALSE);
>                 HttpClient httpclient = new DecompressingHttpClient(new DefaultHttpClient(httpParams));
>                 ResponseHandler<Void> responseHandler = new ResponseHandler<Void>()
{
>                         public Void handleResponse(HttpResponse response)
>                                         throws ClientProtocolException, IOException {
>                                 response.getEntity().getContent();
>                                 return null;
>                         }
>                 };
>                 httpclient.execute(new HttpGet(URI.create(PROBLEMATIC_URL)),
>                                 responseHandler);
>         }
> {code}
> The exception I am getting from this is the following on version 4.2.2
> Exception in thread "main" java.io.IOException: Attempted read from closed stream.
> at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:138)
> at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:121)
> at java.util.zip.CheckedInputStream.read(CheckedInputStream.java:42)
> at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:247)
> at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:239)
> at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:142)
> at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:58)
> at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:67)
> at org.apache.http.client.entity.GzipDecompressingEntity.getDecompressingInputStream(GzipDecompressingEntity.java:56)
> at org.apache.http.client.entity.DecompressingEntity.getContent(DecompressingEntity.java:72)
> at org.apache.http.util.EntityUtils.consume(EntityUtils.java:83)
> at org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:176)
> at org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:165)
> at org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:153)
> at com.ontotext.test.App.main(App.java:42) 

--
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


Mime
View raw message