首页 新闻 赞助 找找看

c#模拟网页登陆

0
悬赏园豆:10 [已关闭问题] 关闭于 2014-08-08 13:17

园子中有很多关于模拟登陆的博客,但没有解除心中的困惑。

采用post方式,将数据发送到指定页面,同时带有相关的数据。

如登陆页面,通常是用户名与密码。

而在实际网站(c#)登陆页面,通常是点击登陆按钮触发登陆事件,在事件中进行登陆处理。

页面控件的值是不存在的,也不会触发事件

对于C#网站,如果模拟登陆,如何处理这种情况?

--------------------------------------------

通常的c#开发出来的网站,只有在点击登陆按钮时,才会进行身份验证。而数据是取自TextBox文本框,并不是Request等。处理页面就是登陆页面。

通过HttpWebRequest、HttpWebResponse怎样去实现呢?

lucika.zh的主页 lucika.zh | 初学一级 | 园豆:62
提问于:2013-08-03 09:21
< >
分享
所有回答(6)
0

模拟登录本身,不是模拟你访问的登录页面,而是后台模拟登录的动作。登录验证是表单的话,我们要模拟的是点击“登录”的动作。.

邢少 | 园豆:10926 (专家六级) | 2013-08-03 09:54

说法非常准确。怎么模拟"登录"这个动作呢?

支持(0) 反对(0) lucika.zh | 园豆:62 (初学一级) | 2014-08-08 13:10

@lucika.zh:

httpRequest,用来使用代码拼凑一个表单,post回去

或者是一个服务端的一个服务,代码访问。

支持(0) 反对(0) 邢少 | 园豆:10926 (专家六级) | 2014-08-08 15:02
0

用chrome或者firefox看看每次按钮提交的数据和地址,然后用来模拟这个~

幻天芒 | 园豆:37175 (高人七级) | 2013-08-03 20:11

一个页面,登陆页面。用户名和密码,两个文本框,登陆验证是在点击按钮事件中触发的。怎么才能触发这个事件?

支持(0) 反对(0) lucika.zh | 园豆:62 (初学一级) | 2013-08-04 13:59

@lucika.zh: 怎样才能触发事件?不知道你要表达什么,微软的控件有事件驱动的么~~

支持(0) 反对(0) 不负春光,努力生长 | 园豆:1382 (小虾三级) | 2013-08-04 14:05

@lucika.zh: 楼主你可能想多了,你说的大概是将登录页中webbrowser控件中打开,程序控制输入用户名和密码然后模拟点击登录按钮吧?这种方式可以获取文档元素调用invoke方法触发点击事件(也可以是其他事件),然而实际应用中这种方式却有着很多不足,它并不能快速操作,他需要一个gui或者需要一个可以承载浏览器的容器。实际上,无论界面上如何操作,最终都是要把数据提交到服务器的,因此,我们只需要知道提交的数据和提交的服务器地址,就可以模拟浏览器操作。

支持(0) 反对(0) 喵喵喵猫 | 园豆:1742 (小虾三级) | 2013-08-04 16:01

既然是post,我就不关注事件什么的,我只需要提交正确的数据即可~

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2013-08-04 16:33

@芬达: 

使用HttpWebRequest与HttpWebResponse,通过CS程序模拟登陆等操作。比如,农场辅助软件。

支持(0) 反对(0) lucika.zh | 园豆:62 (初学一级) | 2013-08-05 09:10
0

可以用抓包工具抓到post或get的具体方法,直接向后台验证的动作提交数据

狼性法则 | 园豆:56 (初学一级) | 2013-08-03 21:10
0

抓取你post的地址,直接跟上参数名称,然后看返回结果

不负春光,努力生长 | 园豆:1382 (小虾三级) | 2013-08-04 14:04

这样post数据是没有任何问题的。但是验证函数不会触发,是由于没有触发点击事件。

而且验证函数取的值是TextBox,直接用参数的方式里面是没有数据的,而不是Request。

支持(0) 反对(0) lucika.zh | 园豆:62 (初学一级) | 2013-08-05 09:15
0

LF 你完全可以直接向Form 的action (post)提交数据

注意:post数据时,这样写就可以了,首先抓到登录页面的:用户名与密码文本框的名子。

如:userText, userPassword后写成

userText=登录用户名&userPassword=登录名对应的密码

提交(post)数据,应该可以登录了。

Albert Fei | 园豆:2102 (老鸟四级) | 2013-08-08 17:06
0
雪山浪子 | 园豆:37 (初学一级) | 2013-08-08 17:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册