HTTTP协议头中,添加某一个字段,获取返回数据中头信息的某一个字段。


在发送数据的时候,添加某一个自定的头信息
    TBuf8<20> bSession;
    bSession.Copy(_L8("sessionID"));
    SetHeaderL(hdr, bSession, aSessionID);

void CDXClientEngine::SetHeaderL(RHTTPHeaders aHeaders, TDesC8 & aHdrField,
        const TDesC8& aHdrValue)
{
    RStringF valStr = iSession.StringPool().OpenFStringL(aHdrValue);
    RStringF rHdrField = iSession.StringPool().OpenFStringL(aHdrField);
    CleanupClosePushL(valStr);
    THTTPHdrVal val(valStr);
    aHeaders.SetFieldL(rHdrField, val);
    CleanupStack::PopAndDestroy();
    rHdrField.Close();

}



在接受数据的时候,从头信息中获取某一个字段的值:

        RHTTPResponse resp = aTransaction.Response();
        RHTTPHeaders headers = resp.GetHeaderCollection();
        TBuf8<20> bSession;
        bSession.Copy(_L8("ErrorCode"));
        RStringF rHdrField = iSession.StringPool().OpenFStringL(bSession);
        THTTPHdrVal tempHdrVal;
        TInt err = headers.GetField(rHdrField, 0, tempHdrVal);
       
        if (err == KErrNone)
        {
            RStringF field = tempHdrVal.StrF();
            const TDesC8& fieldValDesC = field.DesC();
            if (fieldValDesC.Compare(_L8("0")) == 0)
            {
                iErrorCode = 0;
            }
        }
        rHdrField.Close();

你可能感兴趣的:(HTTTP协议头中,添加某一个字段,获取返回数据中头信息的某一个字段。)