用下面这个函数可以读取网页保存下来的HTM文件,但是不能直接读取网页,为什么?BOOL GetSourceHtml(CString theUrl,CString Filename)
{
CInternetSession session;
CInternetFile* file = NULL;
// ofstream ICG3(CurPath +_T("\\webpage.txt"), ios::out ); try
{
// 试着连接到指定URL
file = (CInternetFile*) session.OpenURL(theUrl);
}
catch (CInternetException* m_pException)
{
// 如果有错误的话,置文件为空
file = NULL;
m_pException->Delete();
return FALSE;
} // 用dataStore来保存读取的网页文件
CStdioFile dataStore;
if (file)
{
CString somecode, allcode; //也可采用LPTSTR类型,将不会删除文本中的\n回车符
BOOL bIsOk = dataStore.Open(Filename, CFile::modeCreate | CFile::modeWrite | CFile::shareDenyWrite | CFile::typeText); if (!bIsOk)
return FALSE; string str; // 读写网页文件,直到为空
while (file->ReadString(somecode) != NULL) //如果采用LPTSTR类型,读取最大个数nMax置0,使它遇空字符时结束
{
dataStore.WriteString(somecode);
dataStore.WriteString(_T("\n")); //如果somecode采用LPTSTR类型,可不用此句 allcode += somecode;
} file->Close();
parse4(allcode); delete file;
return TRUE;
}
else
{
dataStore.WriteString(_T("到指定服务器的连接建立失败..."));
return FALSE;
}
return TRUE;
}
{
CInternetSession session;
CInternetFile* file = NULL;
// ofstream ICG3(CurPath +_T("\\webpage.txt"), ios::out ); try
{
// 试着连接到指定URL
file = (CInternetFile*) session.OpenURL(theUrl);
}
catch (CInternetException* m_pException)
{
// 如果有错误的话,置文件为空
file = NULL;
m_pException->Delete();
return FALSE;
} // 用dataStore来保存读取的网页文件
CStdioFile dataStore;
if (file)
{
CString somecode, allcode; //也可采用LPTSTR类型,将不会删除文本中的\n回车符
BOOL bIsOk = dataStore.Open(Filename, CFile::modeCreate | CFile::modeWrite | CFile::shareDenyWrite | CFile::typeText); if (!bIsOk)
return FALSE; string str; // 读写网页文件,直到为空
while (file->ReadString(somecode) != NULL) //如果采用LPTSTR类型,读取最大个数nMax置0,使它遇空字符时结束
{
dataStore.WriteString(somecode);
dataStore.WriteString(_T("\n")); //如果somecode采用LPTSTR类型,可不用此句 allcode += somecode;
} file->Close();
parse4(allcode); delete file;
return TRUE;
}
else
{
dataStore.WriteString(_T("到指定服务器的连接建立失败..."));
return FALSE;
}
return TRUE;
}
解决方案 »
- MFC是开源的吗?
- 做过界面自绘的进,顶级菜单(就是常见的文件,编辑,查看等)所在的那个区域块到底是什么窗口?
- 求助:编写一个程序:求矩阵A的转置矩阵B,要求用指针型函数实现。
- 有关extern的问题!求救!在线等
- 请问如何使一个循环每隔一定时间执行一次
- atl 入门
- CAsyncSocket和udp来 100分
- 初学者的问题,请大侠指教,在线等啊!
- 怎么在我的程序中打开一个全屏幕的IE窗口地址是http://toilet.533.net/happy.html(没有toolbar没有titlebar没有menu.....) 就是全屏幕的IE窗口
- retinex去雾代码
- 从网页上下载数据,出现乱码
- UDP 接收一段时间以后 就收不到数据了??
你是要用这个代码直接获取一个网页的代码?
没细看,但是要讲读取的流指向网页地址才可以