Stephen,

Thanks, I now checked the reason phrase and it returns "Not Found" when I
get a non gzip page not found error and an OK when I successfully get a
gzip file download. As I said earlier in multiple iterations , the first
one is successful almost  all the time and any subsequent request after
that can fail. Is there any way I can "stick" to the fist successful server
instance using the HttpClient , is there any way around  ? Thanks for your
help.


On Mon, Apr 1, 2013 at 11:48 PM, Stephen J. Butler <stephen.but...@gmail.com
> wrote:

> I notice you aren't checking your status code. Error response have a
> body/response entity too. Take a look at
> response.getStatusLine().getStatusCode() and getStatusReasonPhrase(). I bet
> the server is limiting you in the instances where you're seeing non-gziped
> content.
>
>
> On Mon, Apr 1, 2013 at 10:42 PM, S.L <simpleliving...@gmail.com> wrote:
>
> > Hi All,
> >
> > I use the following code and run the method multiple times, a few times I
> > get a response in gzip which is what I expect and a few time I get a
> > response that is completely different(non Gzip and html format) .However
> if
> > I download the same URL multiple times using Mozilla or IE I consistently
> > get the same GZIP response , Is this an error with the server I am trying
> > to reach to , or do I need to set parameters to get a consistent
> response ?
> >
> > Thanks.
> >
> > The URL I am trying to download is *
> > http://www.walmart.com/navigation6.xml.gz* , can you please let me know
> ?
> > Thanks
> >
> >
> >
> >
> >   public static byte[] dowloadURL(URL urlToDownload) {
> >
> >         InputStream iStream = null;
> >         byte[] urlBytes = null;
> >
> >         try {
> >
> >             //HttpClient httpClient = new HttpClient();
> >             org.apache.http.client.
> > HttpClient httpClient = new DefaultHttpClient();
> >
> >
> >             HttpGet httpget = new HttpGet(urlToDownload.toString());
> >
> >             HttpResponse response  = httpClient.execute(httpget);
> >
> >             iStream = response.getEntity().getContent();
> >
> >             urlBytes = IOUtils.toByteArray(iStream);
> >             String responseString = new String(urlBytes);
> >             System.out.println(" >>> The response  string for "
> > +urlToDownload.toString()+  " is "   +responseString);
> >
> >         } catch (IOException e) {
> >             System.err.printf("Failed while reading bytes from %s: %s",
> >                     urlToDownload.toExternalForm(), e.getMessage());
> >             e.printStackTrace();
> >             // Perform any other exception handling that's appropriate.
> >         } finally {
> >             if (iStream != null) {
> >                 try {
> >                     iStream.close();
> >                 } catch (IOException e) {
> >                     // TODO Auto-generated catch block
> >                     e.printStackTrace();
> >                 }
> >             }
> >         }
> >
> >         return urlBytes;
> >     }
> >
>

Reply via email to