工控编程吧
标题:
351上位机VC MFC定时提取网页源码
[打印本页]
作者:
qq263946146
时间:
2016-9-19 18:56
标题:
351上位机VC MFC定时提取网页源码
(, 下载次数: 0)
上传
点击文件名下载附件
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定时提取网页源码
[iqiyi]http://player.video.qiyi.com/72d7d53fa78bcc571fd9ad80054cb21e/0/0/w_19rssvur1l.swf-albumId=6336328709-tvId=6336328709-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件 [weixinlianxi]1[/weixinlianxi]
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4