351上位机VC MFC定时提取网页源码
351上位机VC MF定时提取网页源码功能展示
打开的网页,我们有时要提取网页中有价值的信息进行分析与修改,当前例程就实现指定网页代码的提取,效果如图,设置了间隔时间及要读取的网页后,就可以点击读取代码,例程会间隔地读取指定网页的源代码并显示到编辑框中,点击停止可终止计时器,停止读取;
要点提示
例程主要是通过类CInternetSession及类CHttpFile实现,通过CInternetSession构造函数,建立一连接对话,再通过此类的OpenURL()获取CHttpFile对象,最后通过CHttpFile 对象的ReadString()读取网页源代码
实现功能
1.新建基于对话框的应用程序
2.添加编辑框IDC_TIME, IDC_ADDRESS分别对应间隔的时间,读取的网页,及读取的网页源码。添加按钮<定时读取网页代码><停止>关联按钮的点击函数
void CGkbc8Dlg::OnReadcode()
{
int nTime;
nTime=GetDlgItemInt(IDC_TIME);
SetTimer(1,nTime,NULL);
}
void CGkbc8Dlg::OnStop()
{
KillTimer(1);
}
3.添加定时处理函数
void CGkbc8Dlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent ==1)
{
CString sAddr;
GetDlgItemText(IDC_ADDRESS,sAddr);
CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;
//<>
try
{
myHttpFile = (CHttpFile*)mySession.OpenURL(sAddr);
}
catch(CInternetException * pException)
{
myHttpFile = NULL;
pException->Delete();
mySession.Close();
KillTimer(1);
MessageBox("connect error");
return;
}
//<>
CString sSource,sLine;
while(myHttpFile->ReadString(sLine))
{
sSource+=sLine;
sSource+="\r\n";
}
myHttpFile->Close();
mySession.Close() ;
SetDlgItemText(IDC_CONTENT,sSource);
}
CDialog::OnTimer(nIDEvent);
}
我们来演示下功能实现的整个过程C定时提取网页源码
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|