如何使用webbrowser控件获取网页源代码

AngelAmelie 2010-08-23 10:40:17
我在用MFC(VC++6.0)做一个简单的小程序,用到webbrowser这个控件,我想用这个控件获取访问网页的源代码,并在一个Edit box 里面显示出来。我的对话框的界面是这样子的:Edit box1:在这里面输入网址;Edit box2:显示访问网页的源代码;一个按钮:点此按钮可以访问网页;一个webbrowser控件。哪位高手教教我怎么做吧!我是菜鸟,过程越具体越好呀,谢谢啊 !
...全文
599 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
homexxhh 2010-11-21
  • 打赏
  • 举报
回复
看看啦~~~~~~~~~
RLib 2010-08-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ctest_ 的回复:]
不能获取原码,只能获取显示的内容的HTML代码
[/Quote]

估计你想得到原始服务器的响应报文,那么可以使用Winsock
guoxuqu 2010-08-25
  • 打赏
  • 举报
回复
人家的后台源码你是得不到的。
蒙飞鸿 2010-08-25
  • 打赏
  • 举报
回复
“网页的源代码”是指什么?不是HTML代码?
ctest_ 2010-08-25
  • 打赏
  • 举报
回复
不能获取原码,只能获取显示的内容的HTML代码
「已注销」 2010-08-25
  • 打赏
  • 举报
回复
我都是用的CHtmlView,你可以参考下它的GetSource实现:

BOOL CHtmlView::GetSource(CString& refString)
{
ENSURE(m_pBrowserApp != NULL);

BOOL bRetVal = FALSE;

CComPtr<IDispatch> spDisp;
m_pBrowserApp->get_Document(&spDisp);
if (spDisp != NULL)
{
HGLOBAL hMemory;
hMemory = GlobalAlloc(GMEM_MOVEABLE, 0);
if (hMemory != NULL)
{
CComQIPtr<IPersistStreamInit> spPersistStream = spDisp;
if (spPersistStream != NULL)
{
CComPtr<IStream> spStream;
if (SUCCEEDED(CreateStreamOnHGlobal(hMemory, TRUE, &spStream)))
{
spPersistStream->Save(spStream, FALSE);

STATSTG statStg;
spStream->Stat(&statStg, STATFLAG_NONAME);

LPCSTR pstr = static_cast<LPCSTR>(GlobalLock(hMemory));
if (pstr != NULL)
{
// Stream is expected to be ANSI (CP-ACP). CString constructor
// will convert implicitly, and truncate to correct length.

bRetVal = TRUE;
TRY
{
refString = CString(pstr, statStg.cbSize.LowPart);
}
CATCH_ALL(e)
{
bRetVal = FALSE;
DELETE_EXCEPTION(e);
}
END_CATCH_ALL

if (bRetVal == FALSE)
GlobalFree(hMemory);
else
GlobalUnlock(hMemory);
}
else
{
GlobalFree(hMemory);
}
}
else
{
GlobalFree(hMemory);
}
}
else
{
GlobalFree(hMemory);
}
}
}

return bRetVal;
}
「已注销」 2010-08-24
  • 打赏
  • 举报
回复
CHtmlView里有一个GetSource方法
AngelAmelie 2010-08-24
  • 打赏
  • 举报
回复
windywater这位大哥能具体教教我怎么写代码吗?我很菜的,可以麻烦你下吗,谢谢啊

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧