客户端向Web服务器Send()之后,就可以等待接收服务器Response的消息体,但是无论是下面的哪种方法接收到的消息体的中文字符都是乱码:
IWinHttpRequestPtr pHttpReq;
方法一:
_bstr_t bStrText = pHttpReq->ResponseText;
CString strText = bStrText;
方法二:
BSTR bstr = NULL;
hr = pHttpReq->get_ResponseText(&bstr);
CString str = bstr;
如图:
改用下面方法将中文乱码问题解决掉了:
_variant_t varRspBody = pHttpReq->GetResponseBody();
ULONG dataLen = varRspBody.parray->rgsabound[0].cElements;
char *pContentBuffer = (char *)varRspBody.parray->pvData;
CString strCntBuffer;
strCntBuffer = pContentBuffer;
如图: