读书人

提取网页时为什么是乱码?该怎么解决

发布时间: 2012-01-28 22:06:13 作者: rapoo

提取网页时为什么是乱码?
高手帮我看看下面的代码:(用CInternetSession获取网页HTML源代码)
void CsecondDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);

//开始连接到URL并读取文本内容
int i = 0;
CString strCur;

try
{
m_pHttpFile = (CHttpFile*) m_interSes.OpenURL( m_url, 1, INTERNET_FLAG_TRANSFER_BINARY);

}
catch (CInternetException *pEx)
{
MessageBox(L "打开URL错误,请重新输入! ");
m_pHttpFile = NULL;
}

if (m_pHttpFile)
{
while ( m_pHttpFile-> ReadString( strCur ) && i < 3)
{
m_data += strCur;
m_data += "\r\n ";
i++;
}

m_pHttpFile-> Close();
delete [] m_pHttpFile;
}

UpdateData(FALSE);
}
为什么我的m_data里得到的是乱码啊?
知道的帮帮忙!


[解决办法]
我以前用过的


CInternetSession session( "MySession ");
CHttpConnection* conn = NULL;
CHttpFile* file = NULL;

conn = session.GetHttpConnection( "www.xxxx.cn ", (INTERNET_PORT)8080);

CString strPost = word;

file = conn-> OpenRequest(CHttpConnection::HTTP_VERB_POST,_T( "/xxx.jsp "));
file-> AddRequestHeaders( "Content-Type: application/x-www-form-urlencoded ");
file-> AddRequestHeaders( "Referer: http://www.xxx.cn/ ");
file-> AddRequestHeaders( "Accept-Language : zh-cn ");
file-> SendRequest(NULL,0,(LPVOID)(LPSTR)(LPCTSTR)strPost,strPost.GetLength());

CString strRead;

while(file-> ReadString(strRead))
[解决办法]
求人就应该这么叼
[解决办法]
从那个链接获得的数据是文本吗?是什么字符集?

读书人网 >VC/MFC

热点推荐