WebClient-UploadXXX

来源:互联网 发布:淘宝拍摄视频教程 编辑:程序博客网 时间:2024/04/30 06:32

WebClient提供了一系列Upload方法可用于提交数据,使用它可以POST数据到特定的HTTP页,或SORT数据到FTP空间。

 

在Http方面UploadXXX方法主要用于自动提交表单数据

 

相关背景知识

http://blog.csdn.net/X_Craft/archive/2009/07/19/4361591.aspx

 

我们知道Html中form表单的methdo属性可以是get也可以是post,action为一个url(为空通常默认为本页)用于指定一个转向页面,即表单数据提交的目标页。对于GET表单的提交,直接构造url并使用WebClient类的DownloadXXX方法即可,而对于POST表单,则需要使用UploadXXX方法

 

Login.asp

 

使用UploadXXX方法POST数据,需要知道表单数据提交的目标页和Post数据的组成

 

一种方法是访问Login.asp,使用浏览器的查看源码功能,在Html源码中找到<form>标签,通过methdo确认它是一个post表单,通过action得到表单提交的目标页,根据Post背景知识得到Post数据为"user=xxx&pass=xxx"

 

另一种方法是访问Login.asp,填写表单数据并提交,同时通过Http协议分析工具观察提交时产生的POST报文,得到目标页及报文数据实体中的Post数据

 

这里推荐使用第二种方法,因为有些页面会在Post数据中加入其它内容,比如aspx页就会在post数据中加入一些特殊标识,如http://passport.cnblogs.com/login.aspx

 

 表单提交代码示例:

HttpRequestHeader是一个枚举类型,还有一个HttpResponseHeader枚举类型,它们分别用于标识Http请求报文和Http响应报文的头字段,MSDN中其枚举成员的说明,查看这些说明有助于Http报文头的组成的了解

 

对于Post数据是字符串的情况,可以直接使用UploadString方法,也可以使用UploadValues方法

使用NameValueCollection需要using System.Collections.Specialized;

 

 参考资料:

 

c#实现自动登录

http://div.cn/2009/04/c.html

 

用 WebClient.UploadData 方法 上载文件数据

http://blog.joycode.com/dotey/archive/2005/04/17/49153.joy

 

使用WebClient自动填写并提交ASP.NET页面表单

http://www.cnblogs.com/anjou/archive/2006/12/25/602943.html

 

自动向网页Post信息并提取返回的信息

http://www.cnblogs.com/dragon/archive/2005/06/15/174946.html

 

原创粉丝点击