WEB开发网
开发学院手机开发Symbian 开发 Symbian 中的 Http 开发详解 阅读

Symbian 中的 Http 开发详解

 2010-03-24 17:22:00 来源:WEB开发网   
核心提示:RStringF realm = strP.StringF(HTTP::ERealm, RHTTPSession::GetTable());THTTPHdrVal realmVal;if (fieldVal.StrF() == basic)// check the header has a 'realm'

RStringF realm = strP.StringF(HTTP::ERealm, RHTTPSession::GetTable());

THTTPHdrVal realmVal;

if (fieldVal.StrF() == basic)

// check the header has a 'realm' parameter

if (hdr.GetParam(wwwAuth, realm, realmVal) == KErrNone)

{

RStringF realmValStr = strP.StringF(realmVal.StrF());

fieldVal16.Copy(realmValStr);

Printf(_L("Realm is: %S "), &fieldVal16);

}

}

}

// Advance the iterator

++it;

}

6 取得响应体

要取得响应体,就必须使用包含在事务响应里的数据提供者。在客户端完成处理所有的响应体数据片后,必须数据释放数据提供者。

case THTTPEvent::EGotResponseBodyData:

{

// Some (more) body data has been received. Get the body data supplier

MHTTPDataSupplier* body = aTransaction.Response().Body();

TPtrC8 dataChunk;

TBool isLast = body->GetNextDataPart(dataChunk);

Dump(dataChunk);

if (isLast)

Printf(_L("Got the last data chunk. "));

// Done with that bit of body data

body->ReleaseData();

}

break;

7 完成事务

事务的完成(不管是成功还是失败),都要停止本地活动调度器。枚举值EResponseComplete仅是事务完成的一个信号,而不用于完成任何具体的工作。具体的工作放在成功或是失败的分支里处理:

case THTTPEvent::EResponseComplete:

{

// The transaction's response is complete

Printf(_L(" Transaction Complete "));

}

break;

case THTTPEvent::ESucceeded:

{

Printf(_L("Transaction Successful "));

aTransaction.Close();

CActiveScheduler::Stop();

}

break;

case THTTPEvent::EFailed:

{

Printf(_L("Transaction Failed "));

aTransaction.Close();

上一页  1 2 3 4  下一页

Tags:Symbian Http 开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接