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


  was:
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}

    
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to