各位大虾,我的问题如下:
1、我使用WebBrowser 控件可以实现网页的浏览了,不过在执行的时候网页浏览的请求和响应以及网页的显示都是由WebBrowser 控件自行完成的。现在我需要将服务器回传的网页接收出来,同时解析其中的某些属性。同时如果回传的网页中有帐户设置要求,比如:网页要求输入用户名和密码,我现在要实现的是将用户名和密码通过程序填入(不通过页面的手动操作),最后将填好的页面发送。请问实现上述功能应该怎么弄?WebBrowser 控件可不可以实现上述功能?如果不行,可以使用其它的什么控件或是类实现?我使用的是VS2005进行桌面开发。
非常感谢!
1、我使用WebBrowser 控件可以实现网页的浏览了,不过在执行的时候网页浏览的请求和响应以及网页的显示都是由WebBrowser 控件自行完成的。现在我需要将服务器回传的网页接收出来,同时解析其中的某些属性。同时如果回传的网页中有帐户设置要求,比如:网页要求输入用户名和密码,我现在要实现的是将用户名和密码通过程序填入(不通过页面的手动操作),最后将填好的页面发送。请问实现上述功能应该怎么弄?WebBrowser 控件可不可以实现上述功能?如果不行,可以使用其它的什么控件或是类实现?我使用的是VS2005进行桌面开发。
非常感谢!
解决方案 »
- UpdateLayeredWindow引起的消息循环问题
- 请问如何得到ListControl控件里,没有被选上的Item?
- VC下,我想获取一个记录从mysql中,然后放到一个void * buffer里,如何做到呢?
- 高分求《unix网络编程》卷一和卷二,多谢啦!
- VC数据库操作中在添加第一条记录时报内存错误,
- “菜鸟”问 问题。。但是很想知道 谢谢!
- 高疯求助---线程中使用定时器的问题
- group box和check box怎么结合使用的控件的问题,
- 有个很“创造”的东西,有人感兴趣吗?
- 怎样用API函数改变屏幕的分辩率?(VC)
- VC+SQLserver 的C/S模式问题
- 最最基础,最最郁闷的问题!
http://www.vckbase.com/document/viewdoc/?id=1446
这个例子是用DOM操作的,同理,你能得到密码,就能填写密码,原理是一样的。好好看一下代码,原理应该不难。要相信自己。我还有直接发送登录信息的(就是自己传送已知的帐号及密码到指定登录页面,页面不用你填写,程序自动登录),这个不用使用DOM,你看一下:
VARIANT vInfo;
vInfo.vt=VT_EMPTY;
m_browser.Navigate("http://IP或网址/Login.jsp?userid=H9999&password=yourpassword",&vInfo,&vInfo,&vInfo,&vInfo);//说明m_browser是你窗口上WEB_BROWSER控件所关联的一个全局变量(不一定要全局,能访问到就行)
//我这个例子是使用userid和password来登录的,你要查看你的登录网页里这二项的命名,一般叫username和password
//你要指定详细的页面,例如有些网址虽然在首页就显示了登录框,例如 www.163.com,但其它他使用了默认页面,可能是www.163.com/index.asp或者其它的,你要指定这个明细的页面地址,而不能使用www.163.com这是不行的。登录方式要看一下对方的代码,目前,我可以转换asp,jsp,aspx,javacript的所以登录,都成功的。你试一下吧。不难。
IHTMLDocument2 *pHTMLDocument=NULL;
IPersistStreamInit *pPSI=NULL; IStream *pStream=NULL;
HGLOBAL hHTMLText; if (!(pHTMLDocument = (IHTMLDocument2*)m_wndBrowser.get_Document())) //获取Document
return; if (FAILED(pHTMLDocument->QueryInterface(&pPSI))) //获取IPersistStreamInit 指针
{
// pHTMLDocument->Release();
return;
} hHTMLText = GlobalAlloc(GMEM_FIXED, 10000);//分配内存
memset((char*)hHTMLText,NULL,10000);//初始化清空
CreateStreamOnHGlobal(hHTMLText, TRUE, &pStream);//将内存与流绑定
pPSI->Save(pStream, FALSE);我使用上述代码,可以将网页保存在hHTMLText中,不过我想问问如何通过IHTMLDocument2 获取网页的大小,因为GlobalAlloc函数我使用的是一个定值,如果可以基于网页大小分配就比较好了!