hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joseph Mocker <m...@fakebelieve.org>
Subject Re: Question regarding the redirects
Date Tue, 08 Sep 2009 23:18:20 GMT
There are multiple redirects from the page you are beginning with. 
Setting setFollowRedirects(false) means you will have to follow them all 
yourself. If you use wget you can see all the redirects:

% wget -O /dev/null --no-check-certificate 
'http://www.opensolaris.org/jive/login!withRedirect.jspa'
--2009-09-08 16:15:35--  
http://www.opensolaris.org/jive/login!withRedirect.jspa
Resolving www.opensolaris.org... 72.5.123.5
Connecting to www.opensolaris.org|72.5.123.5|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://www.opensolaris.org//enter.jspa?targetPage=%2F [following]
--2009-09-08 16:15:35--  
http://www.opensolaris.org//enter.jspa?targetPage=%2F
Reusing existing connection to www.opensolaris.org:80.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://www.opensolaris.org/enter.jspa?targetPage=%2F [following]
--2009-09-08 16:15:35--  
https://www.opensolaris.org/enter.jspa?targetPage=%2F
Connecting to www.opensolaris.org|72.5.123.5|:443... connected.
WARNING: cannot verify www.opensolaris.org's certificate, issued by 
`/O=Sun Microsystems Inc/OU=VeriSign Trust Network/OU=Class 3 MPKI 
Secure Server CA/CN=Sun Microsystems Inc SSL CA':
  Self-signed certificate encountered.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: 
https://auth.opensolaris.org/login.action?targetUrl=http://opensolaris.org/ 
[following]
--2009-09-08 16:15:35--  
https://auth.opensolaris.org/login.action?targetUrl=http://opensolaris.org/
Resolving auth.opensolaris.org... 72.5.123.23
Connecting to auth.opensolaris.org|72.5.123.23|:443... connected.
WARNING: cannot verify auth.opensolaris.org's certificate, issued by 
`/O=Sun Microsystems Inc/OU=VeriSign Trust Network/OU=Class 3 MPKI 
Secure Server CA/CN=Sun Microsystems Inc SSL CA':
  Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 200 OK
Length: 6695 (6.5K) [text/html]
Saving to: `/dev/null'


Rutuja Joshi wrote:
> Thanks Sebb!
>
> I tried reading Location header in my code.
>
> For URL http://www.opensolaris.org/jive/login!withRedirect.jspa, the 
> contents are ultimately fetched from 
> https://auth.opensolaris.org/login.action?targetUrl=http://www.opensolaris.org/jive/message.jspa?messageID=219909.

>
>
> However, when I set  method.setFollowRedirects(false),  the location 
> header says : "http://www.opensolaris.org//enter.jspa?targetPage=%2F"
> when I set method.setFollowRedirects(true) , the response headers do 
> not have location header (may be as we allow HttpClient to follow the 
> redirects)
>
> In short, I am not able to determine what the final URL would be based 
> on the "Location" header. Am I missing something or it is not possible 
> for HttpClient to keep track of the final destination URL.
>
> Thanks,
> Rutuja
>
>
>> On 08/09/2009, sebb <sebbaz@gmail.com> wrote:
>>  
>>> On 08/09/2009, Rutuja Joshi <Rutuja.Joshi@sun.com> wrote:
>>>
>>>    
>>>> Thanks Sebb!
>>>>       
>>>  >
>>>  >  I had actually commented out
>>>  > method.setFollowRedirects(true) in the code thinking that
>>>  > the default is false.When I explicitly set it to false, I get the 
>>> response
>>>  > code as 302 ("HTTP/1.1 302 Moved Temporarily") and not 304.
>>>     
>>
>> Just double-checked and I got 302 (not 304); but the effect is much 
>> the same.
>>
>>  
>>>  >
>>>  >  Is there any way to know what the new URL is going to be from 
>>> the status
>>>  > line?
>>>
>>>
>>> No.
>>>
>>>  You need to look at the "Location" header.
>>>
>>>
>>>  >  Thanks,
>>>  >  Rutuja
>>>  >
>>>  >
>>>  >  sebb wrote:
>>>  >
>>>  >
>>>  > > I just tried the URL using Apache JMeter 2.3.4 which uses HC 
>>> 3.1, and
>>>  > > that shows the 304 Redirect response correctly, so long as one 
>>> sets
>>>  > >
>>>  > > method.setFollowRedirects(false).
>>>  > >
>>>  > > Are you sure you are setting this correctly?
>>>  > >
>>>  > > On 08/09/2009, Rutuja Joshi <Rutuja.Joshi@sun.com> wrote:
>>>  > >
>>>  > >
>>>  > > > Hi Sebb,
>>>  > > >
>>>  > > >  Sorry to not mention it earlier. I am using HttpClient 3.1
>>>  > > > (commons-httpclient-3.1.jar)
>>>  > > >
>>>  > > >  Thanks,
>>>  > > >  Rutuja
>>>  > > >
>>>  > > >  sebb wrote:
>>>  > > >
>>>  > > >
>>>  > > >
>>>  > > > > On 08/09/2009, Rutuja Joshi <Rutuja.Joshi@sun.com>
wrote:
>>>  > > > >
>>>  > > > >
>>>  > > > >
>>>  > > > >
>>>  > > > > > Hello,
>>>  > > > > >
>>>  > > > > >  I am working on the application which fetches HTTP

>>> contents given
>>>  > the
>>>  > > > > >
>>>  > > > > >
>>>  > > > >
>>>  > > > URL.
>>>  > > >
>>>  > > >
>>>  > > > >
>>>  > > > > > If there is any redirection from the original URL,
I need 
>>> to find
>>>  > out
>>>  > > > > >
>>>  > > > > >
>>>  > > > >
>>>  > > > what's
>>>  > > >
>>>  > > >
>>>  > > > >
>>>  > > > > > the destination URL from which the contents are going
to 
>>> be fetched
>>>  > > > > > eventually. Then depending on the predefined criterion
I 
>>> would like
>>>  > to
>>>  > > > > > determine if the contents should be fetched from the
final
>>>  > destination
>>>  > > > > >
>>>  > > > > >
>>>  > > > >
>>>  > > > or
>>>  > > >
>>>  > > >
>>>  > > > >
>>>  > > > > > not.
>>>  > > > > >
>>>  > > > > >  For example, when I use HttpClient to fetch contents

>>> from URL:
>>>  > > > > >
>>>  > > > > >
>>>  > > > > >
>>>  > > > >
>>>  > > > http://www.opensolaris.org/jive/login!withRedirect.jspa
>>>  > > >
>>>  > > >
>>>  > > > >
>>>  > > > > >  The request gets automatically redirected to
>>>  > > > > >
>>>  > > > > >
>>>  > > > > >
>>>  > > > >
>>>  > > >
>>>  > 
>>> https://auth.opensolaris.org/login.action?targetUrl=http://www.opensolaris.org/jive/message.jspa?messageID=219909

>>>
>>>  > > >
>>>  > > >
>>>  > > > >
>>>  > > > > >  and HttpClient returns the html contents from
>>>  > > > > >
>>>  > > > > >
>>>  > > > >
>>>  > > > https://auth.opensolaris....
>>>  > > >
>>>  > > >
>>>  > > > >
>>>  > > > > >  Based on the return code value from method.execute()

>>> call I have no
>>>  > way
>>>  > > > > >
>>>  > > > > >
>>>  > > > >
>>>  > > > to
>>>  > > >
>>>  > > >
>>>  > > > >
>>>  > > > > > know that this happened. The return code is 200 
>>> (HttpStatus.SC_OK).
>>>  > > > > >
>>>  > > > > >  I have two questions as follows:
>>>  > > > > >  1> Is there any way to know that this  redirect
happened ?
>>>  > > > > >  2> Can I control redirects completely? Meaning,
is there 
>>> any way to
>>>  > > > > >
>>>  > > > > >
>>>  > > > >
>>>  > > > tell
>>>  > > >
>>>  > > >
>>>  > > > >
>>>  > > > > > HttpClient to not to fetch content from the new URL
but 
>>> just let the
>>>  > > > > >
>>>  > > > > >
>>>  > > > >
>>>  > > > calling
>>>  > > >
>>>  > > >
>>>  > > > >
>>>  > > > > > method know what this new URL is?
>>>  > > > > >
>>>  > > > > >  Please note setting method.followRedirects() to true
or 
>>> false did
>>>  > not
>>>  > > > > >
>>>  > > > > >
>>>  > > > >
>>>  > > > alter
>>>  > > >
>>>  > > >
>>>  > > > >
>>>  > > > > > the behavior. Irrespective of setting this flag to
false, 
>>> the HTML
>>>  > > > > >
>>>  > > > > >
>>>  > > > >
>>>  > > > contents
>>>  > > >
>>>  > > >
>>>  > > > >
>>>  > > > > > were fetched from https://auth.opensolaris....
>>>  > > > > >
>>>  > > > > >
>>>  > > > > >
>>>  > > > > >
>>>  > > > > Which version of HttpClient are you using?
>>>  > > > >
>>>  > > > >
>>>  > > > >
>>>  > > > >
>>>  > > > >
>>>  > > > > >  Thanks in advance!
>>>  > > > > >  Rutuja
>>>  > > > > >
>>>  > > > > >
>>>  > > > > >
>>>  > > > > >
>>>  > > > > >
>>>  > > > >
>>>  > > >
>>>  > 
>>> ---------------------------------------------------------------------
>>>  > > >
>>>  > > >
>>>  > > > >
>>>  > > > > >  To unsubscribe, e-mail:
>>>  > > > > > httpclient-users-unsubscribe@hc.apache.org
>>>  > > > > >  For additional commands, e-mail:
>>>  > > > > > httpclient-users-help@hc.apache.org
>>>  > > > > >
>>>  > > > > >
>>>  > > > > >
>>>  > > > > >
>>>  > > > > >
>>>  > > > > >
>>>  > > > >
>>>  > > > >
>>>  > > >
>>>  > 
>>> ---------------------------------------------------------------------
>>>  > > >
>>>  > > >
>>>  > > > > To unsubscribe, e-mail:
>>>  > > > >
>>>  > > > >
>>>  > > > httpclient-users-unsubscribe@hc.apache.org
>>>  > > >
>>>  > > >
>>>  > > > > For additional commands, e-mail:
>>>  > > > >
>>>  > > > >
>>>  > > > httpclient-users-help@hc.apache.org
>>>  > > >
>>>  > > >
>>>  > > > >
>>>  > > > >
>>>  > > > >
>>>  > > >
>>>  > > >
>>>  > >
>>>  > >
>>>  > 
>>> ---------------------------------------------------------------------
>>>  > > To unsubscribe, e-mail:
>>>  > httpclient-users-unsubscribe@hc.apache.org
>>>  > > For additional commands, e-mail:
>>>  > httpclient-users-help@hc.apache.org
>>>  > >
>>>  > >
>>>  > >
>>>  >
>>>  >
>>>
>>>     
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
>> For additional commands, e-mail: httpclient-users-help@hc.apache.org
>>
>>   
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
> For additional commands, e-mail: httpclient-users-help@hc.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org


Mime
View raw message