×
Namespaces

Variants
Actions

How to resolve 302 Redirect Status

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Article
Created: qiangsir (16 Nov 2007)
Last edited: hamishwillee (26 Jul 2012)

There is a default filter for redirect, so you must remove it to resolve 302 redirection. Otherwise you cannot receive 302 redirect header,location is null.


RHTTPFilterCollection filtColl = iSession.FilterCollection();
RStringF filterName = iSession.StringPool().StringF(HTTP::ERedirect,RHTTPSession::GetTable());
filtColl.RemoveFilter( filterName );
 
 
The Location header value in EGotResponseHeader event and you can do as below
 
RStringF location = iSession.StringPool().StringF(HTTP::ELocation,RHTTPSession::GetTable());
RHTTPHeaders responseHeaders( aTransaction.Response().GetHeaderCollection() );
THTTPHdrVal locationValue;
if( responseHeaders.GetField(location, 0, locationValue) == KErrNone )
{
TBuf8<255> urides( locationValue.StrF().DesC() );
TUriParser8 uri;
uri.Parse( urides );
aTransaction.Cancel();
iTransaction.Request().SetURIL( uri );
iTransaction.SubmitL();
}
This page was last modified on 26 July 2012, at 03:00.
51 page views in the last 30 days.
×