首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Symbian >

http 怎么获取重定向后的地址

2012-12-23 
http 如何获取重定向后的地址RHTTPResponse resp aTransaction.Response()TInt stateCode resp.Statu

http 如何获取重定向后的地址


RHTTPResponse resp = aTransaction.Response();
    TInt stateCode = resp.StatusCode();
    if(stateCode == 302 || stateCode == 301) {
    RStringPool stringP = aTransaction.Session().StringPool();
    RStringF sLocation = stringP.StringF(HTTP::ELocation, RHTTPSession::GetTable());
    
    RHTTPHeaders hds = resp.GetHeaderCollection();
    TInt localPartId = hds.FieldPartsL(sLocation);
    THTTPHdrVal headerLocation;
    hds.GetField(sLocation, localPartId, headerLocation);
    
    HBufC8* redirectVal = NULL;
    redirectVal = headerLocation.StrF().DesC().Alloc();
                delete redirectVal;
    }


这个方法获取不到Location的值。
请问下各位兄弟有什么办法获取重定向的值,先谢过!
[最优解释]
TInt localPartId = hds.FieldPartsL(sLocation);//获取location域有几个部分
而楼主GetField的正是从最后一个的下一个取,必然取不到

将hds.GetField(sLocation, localPartId, headerLocation);
改成hds.GetField(sLocation, 0, headerLocation);看看


[其他解释]
我发的是post请求
[其他解释]
引用:
TInt localPartId = hds.FieldPartsL(sLocation);//获取location域有几个部分
而楼主GetField的正是从最后一个的下一个取,必然取不到

将hds.GetField(sLocation, localPartId, headerLocation);
改成hds.GetField(sLocation, 0, headerLocation……


获取到了,但是获取的url不全,只有一部分,比如获取到的是"/redirect"
这个时候我如何处理呢?
[其他解释]
获取到的一部分是location字段就只有一部分
谢谢a14776584

热点排行