社区
ATL
帖子详情
急、急!!求高手赐教,怎样用MFC自动登录网页
狐独者
2013-08-22 08:12:56
在下是新手,公司让我做一个登录接口,我没有经验,自己摸索不出方案,恳求高手指点迷津。
具体要求是用MFC或C++写个服务器端的程序,当客户端传来数据时,把数据自动填写到指定的网页上并提交。
总之就是模拟登录。
恳求高人给些思路,告诉我要用哪些类和哪些函数。感激不尽。
...全文
358
13
打赏
收藏
急、急!!求高手赐教,怎样用MFC自动登录网页
在下是新手,公司让我做一个登录接口,我没有经验,自己摸索不出方案,恳求高手指点迷津。 具体要求是用MFC或C++写个服务器端的程序,当客户端传来数据时,把数据自动填写到指定的网页上并提交。 总之就是模拟登录。 恳求高人给些思路,告诉我要用哪些类和哪些函数。感激不尽。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wuz263963
2013-10-29
打赏
举报
回复
能把你做的给我参考么,我也是新手,最近也在做跟你类似的东西。qq531393767
725137
2013-08-28
打赏
举报
回复
直接发送一个http请求过去就行了啊。http包网上一大堆的。根本不需要用到WebBrowser,用到WebBrowser的大部分情况是显示一个网页界面,然后就像按键精灵一样的方式。
狐独者
2013-08-28
打赏
举报
回复
感谢诸位给予的提示,虽然对我没有起到实质性作用。 经过一个多星期连天加夜的努力(我是新手,很多东西要学),终于成功了。 诸位给的方向确实是正确的。我一开始用的就是WebBrowser控件,不想中途改用其他方法。因为这样又要从头开始。 现在回顾,oyljerry前辈的话虽然简短,确是精确无误的。
狐独者
2013-08-24
打赏
举报
回复
源文件里表单如下: <form id="loginForm" onsubmit="saveUsername(this);return validateForm(this)" method="post"> 我的代码是这样: if(SUCCEEDED(spDocument2->get_all(&spElementCollection))) { CComPtr<IDispatch> spDisp; HRESULT hr; hr = spElementCollection->item(CComVariant("loginForm"),CComVariant((long)0), &spDisp); if(SUCCEEDED(hr)) { CComQIPtr<IHTMLFormElement>spForm = spDisp; spForm->submit(); } } 其中最后一句spForm我试验用spForm->reset(),则表单已填内容就消失,说明spForm确实能操纵表单了, 但用submit时就会约3到4秒的时间后,控件里的网页跳到一个显示着“系统错误”的页面。 既不是登录成功,也不是登录失败,这是什么原因??? 诚心请求高人解惑。
oyljerry
2013-08-23
打赏
举报
回复
那就根据type是submit来找,然后出发click
狐独者
2013-08-23
打赏
举报
回复
首先感谢各位热心网友给予的启示和帮助。 我在网上搜了很多,用socket发包也看到过,但那是底层协议方式,我看别人写的代码里还有什么抓包之类,传递的字符串内容也不甚了解,我对套接字不是很熟。 我现在是用WebBrowser控件关联的CWebBrowser2类实现了打开网页并自动填写表单,但问题又来了: 我无法让表单提交,我查看网页源码发现提交按钮没有id和name,如下: <input type="submit" value=" " class="button"/> 我现在想请教如何操纵这个按钮使其触发submit事件从而提交表单。
狐独者
2013-08-23
打赏
举报
回复
在线等
狐独者
2013-08-23
打赏
举报
回复
我已经搞了几天,还是搞不出来,因为知道CSDN里面有高手,只好来求助,求高人指点。
狐独者
2013-08-23
打赏
举报
回复
我用的WebBrowser控件,将其关联了一个Control变量,已经用Navigate在控件里打开了网页,但是我不知道用什么函数来填写里面的表单。 我在网上搜的代码复制上去运行有问题。 CComPtr < IDispatch > spDispDoc; CComQIPtr< IHTMLDocument2 > spDocument2; CComQIPtr<IHTMLElementCollection> spElementCollection; //在控件里打开网页,test是我传过来的this指针 test->m_webBrowser.Navigate("http://www.11185.com.cn/user/login.html",NULL,NULL,NULL,NULL); spDispDoc=(IDispatch *)test->m_webBrowser.GetDocument(); //下面这句运行出错。好像是因为指针不能为空 spDispDoc->QueryInterface(IID_IHTMLDocument2,(void **)&spDocument2);
专写匿名信
2013-08-23
打赏
举报
回复
socket 发送http请求..
fishion
2013-08-22
打赏
举报
回复
搜索下“VC 网页 填写表单”
oyljerry
2013-08-22
打赏
举报
回复
用WebBrowser控件
狐独者
2013-08-22
打赏
举报
回复
求高人指点,在线等。
c++/
MFC
CSocket仿QQ聊天软件,实现1对1聊天,群聊
学习,c++有2个星期了。本来,本人是做php出身的。做php快2年了,最近身边多了很多
高手
。让自己对c开始感兴趣了,就开始学习c++了。首先接触的就是
mfc
。前几天,看到了一个博文,是有关,
mfc
网络编程的。可对方,的实例只能是多对多,出于兴趣,自己改写了下它的程序,实现了点对点的聊天。所以,本实例并非纯原创的。这个还请大家见谅,尤其是作者。我在他程序基础上,增加了1对1的聊天,同时还保留了群聊
CSDN回帖得分大全(近两年)
√vs2005调用dll的时候Initialize()函数返回错误 [VC/
MFC
基础类] 40 ylongwu 05-21 20:486 ylongwu06-28 13:42管理√为什么我创建登陆框之后,然后获取登陆框的数据时候总是出现非法操作! [VC/
MFC
界面] 40 chencheng8095 05-23 00:2911 xianglitian06-10 11:51管理√CFileFind::FindFile 支持通配符么? [VC/
MFC
基础类] 100 wysbk002 05-22
左值和右值--群聊天引起的话题
品(466291086) 11:08:35 a=4;(a++) += a ;
求
a(本消息由该成员通过手机QQ发送,体验手机QQ请
登录
: http://mobile.qq.com/c ) ITGrit[C/C++
MFC
](286715286) 11:09:13 9【提示:此用户正在使用WebQQ:http://web.qq.com/】 秦伟(871452271) 11:09:14 9?ITGrit[C/C++
MFC
](286715286) 11:09:22 呵呵 品(466291086)
Debug和Release有什么区别
1。Debug和Release有什么区别,为什么要使用Release版本! 2。怎么把Debug转成Release 刚学VC,请
赐教
! --------------------------------------------------------------- 转载: Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。至于是否需要DLL支持,主要看
ollydebug 调试上手基础
之所以选择ollydbg 1.我的os是winXP,无法使用trw2000,而softice装了多次均未成功,还蓝屏死机多次.郁闷. 2.友好的gui界面,不像softice.可以边干活边听歌,不像softice,把整个os都挂起了.多用两次,连时间都不知道了. 3.强大的内存查看功能,再不用什么-d了,而且跳转方便,爽!一目了然. 4.强大的右键菜单功能 ollydbg的界面: 菜单: 文件: ...
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章