使用HttpWebRequest模拟网站登录,提取数据。
网站使用c#开发。用户名、密码都是Asp:TextBox,后台验证取值都是通过获取TextBox中数据实现的。
如果使用key=value这种方式(name=name&password=password),其中key是通过分析post数据而来,只能通过Request获取,而文本框中没有数据。
求解!
重复一下,就是通过HttpWebRequest提交的数据,如果不通过request能取值吗?如果不能取值,那么asp.net开发的网站都不能使用。登录都过不去,登录时都是从文本框中取值,而不是通过Request。
问题描述不清楚,
是不是说使用HttpWebRequest获取的网页内在Asp:TextBox没有数据,
你要知道这是原理问题,你使用HttpWebRequest请求,只能从Request对象获取,和页面没有关系的。这个和我的Htttphelper类差不多
如果只能通过Request取值,那HttpWebRequest对asp.net开发的网站来说基本无用。因为后台取值基本都通过服务端控件实现的。
@lucika.zh: 那我只能说你对http通信算是个最小的小白了,后台取控件值也是通过这种方法,只不过是封装了,发送的时候都是使用的HttpWebRequest,不管什么样的程序到最后都是一个Post或者是Get请求,只要你模拟好参数是一样的。
@sufeinet: 怎么模拟?来点直接的吧
@lucika.zh: 我给你发了类你没看?我写的这类就是为这而生的
http://www.sufeinet.com/thread-3-1-1.html
社区里有好多这方面的例子http://www.sufeinet.com/forum.php?mod=collection&action=view&ctid=22
@sufeinet: 网站?东西很多,但没有解决实际问题。通过HttpWebRequest,在后台可以通过ASp:textbox取值吗?php之类的完全没有问题。
@lucika.zh: 服了,不说了我不懂,你问别人吧,我能力有限
@sufeinet: 网站看了,确实看了。东西实在是太多了
没明白,你说得是什么问题 POST过来的数据没有带上文本框的值?那是为因为没有提交表单吧
HttpWebRequest 怎么提交表单?
@lucika.zh: 浏览器自动帮你完成了将数据加入到Http的请求中,而如果你自己构造一个Request请求,如果是POST方式,则需要你手动将数据加入到Http请求体中,两种方式都是通过Http请求只不过一个是自动,一个是手动。
另外对于你的这句 “就是通过HttpWebRequest提交的数据,如果不通过request能取值吗?”你的request取值是什么意思?