我正在使用C ++ MFC创建简单的Web请求。从Microsoft Support站点获取示例代码。
CString strHeaders =_T("Content-Type: application/x-www-form-urlencoded");
CString strFormData = _T("name=John+Doe&userid=hithere&other=P%26Q");
CInternetSession session;
CHttpConnection* pConnection =session.GetHttpConnection(_T("localhost:89"));
CHttpFile* pFile = pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,_T("FormActionHere"));
BOOL result = pFile->SendRequest(strHeaders, (LPVOID)(LPCVOID)strFormData, strFormData.GetLength());
我知道LPCVOID
是指向以空字符结尾的字符串的指针。
当我在项目属性中使用字符集Use Unicode Character Set
时,它会发送带有空终止字符(空格字符)的参数。
但是当我使用字符集Use Multi-Byte Character Set
时,它显示正确,没有任何空格。
如何使用Use Unicode Character Set