As Joseph suggested, I have option of handling series of redirects manually
and that way I will know what URL is the final URL. I will try that but just
confirming that there is no other simpler way to know the final destination
URL .
Thanks a lot for your responses.
Rutuja
sebb wrote:
On 09/09/2009, Rutuja Joshi <[email protected]> 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.
httpMethod.getURI() will have the final URI.
Thanks,
Rutuja
On 08/09/2009, sebb <[email protected]> wrote:
On 08/09/2009, Rutuja Joshi <[email protected]> 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 <[email protected]> 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 <[email protected]> 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:
> > > > >
[email protected]
> > > > > For additional commands, e-mail:
> > > > > [email protected]
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
>
---------------------------------------------------------------------
> > >
> > >
> > > > To unsubscribe, e-mail:
> > > >
> > > >
> > > [email protected]
> > >
> > >
> > > > For additional commands, e-mail:
> > > >
> > > >
> > > [email protected]
> > >
> > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> [email protected]
> > For additional commands, e-mail:
> [email protected]
> >
> >
> >
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail:
[email protected]
For additional commands, e-mail:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail:
[email protected]
For additional commands, e-mail:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail:
[email protected]
For additional commands, e-mail:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail:
[email protected]
For additional commands, e-mail:
[email protected]