使用WebClient自动填写并提交ASP.NET页面表单的源代码
来源:互联网 发布:淘宝漏洞,免费买衣服 编辑:程序博客网 时间:2024/05/21 15:45
url:http://www.cnblogs.com/anjou/archive/2007/03/07/667253.html
try
{
// 要提交表单的URI字符串。
string uriString = "http://localhost:1165/WebTest/MyLogin.aspx";
///////////////////////////////////////
// 打开页面
///////////////////////////////////////
WebClient webClient = new WebClient();
byte[] responseData = webClient.DownloadData(uriString);
string srcString = Encoding.UTF8.GetString(responseData);
///////////////////////////////////////
// 填写页面并提交
///////////////////////////////////////
webClient = new WebClient();
webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
// 获取页面的 VeiwState
string viewStateFlag = "id=\"__VIEWSTATE\" value=\"";
int i = srcString.IndexOf(viewStateFlag) + viewStateFlag.Length;
int j = srcString.IndexOf("\"",i);
string viewState = srcString.Substring(i, j-i);
// 获取页面的 EventValidation
string eventValidationFlag = "id=\"__EVENTVALIDATION\" value=\"";
i = srcString.IndexOf(eventValidationFlag) + eventValidationFlag.Length;
j = srcString.IndexOf("\"", i);
string eventValidation = srcString.Substring(i, j - i);
// 提交按钮的文本
string submitButton = "登录";
viewState = System.Web.HttpUtility.UrlEncode(viewState);
eventValidation = System.Web.HttpUtility.UrlEncode(eventValidation);
submitButton = System.Web.HttpUtility.UrlEncode(submitButton);
// 要提交的字符串数据。格式形如:user=uesr1&password=123
string postString = "userName=1&password=1" + "&loginButton=" + submitButton + "&__VIEWSTATE=" + viewState + "&__EVENTVALIDATION=" + eventValidation;
// 将字符串转换成字节数组
byte[] postData = Encoding.ASCII.GetBytes(postString);
// 上传数据,返回页面的字节数组
responseData = webClient.UploadData(uriString, "POST", postData);
// 将返回的将字节数组转换成字符串(HTML);
// ASP.NET 返回的页面一般是Unicode,如果是简体中文应使用
// Encoding.GetEncoding("GB2312").GetString(responseData)
srcString = Encoding.UTF8.GetString(responseData);
///////////////////////////////////////
// 分析返回的页面
///////////////////////////////////////
//
}
catch (WebException we)
{
string msg = we.Message;
}
- 使用WebClient自动填写并提交ASP.NET页面表单的源代码
- 使用WebClient自动填写并提交ASP.NET页面表单
- 使用WebClient自动填写并提交ASP.NET页面表单
- 使用WebClient自动填写并提交ASP.NET页面表单
- 使用WebClient自动填写并提交ASP.NET页面表单
- 使用WebClient自动填写并提交ASP.NET页面表单
- 使用WebClient自动填写并提交ASP.NET页面表单 (zt)
- HtmlUnit自动填写表单并提交
- vb.net2005 网页自动填写并提交
- asp.net中利用WebClient查看网站的源代码
- 使用Ajax自动填写表单
- 使用Ajax自动填写表单
- 使用RoboForm自动填写表单
- .net 火车头 ------表单(form)的自动填写和提交
- .net 火车头 ------表单(form)的自动填写和提交
- javascript创建并提交表单
- 动态创建表单并提交
- 关于js截获form表单并提交的问题
- 我希望一年前就知道MongoDB那些事
- 批量修改文件时间
- 快速理解Kafka分布式消息队列框架
- 黑马程序员_java基础加强学习笔记之注解
- 判断textField为空时让按钮不可用的代码
- 使用WebClient自动填写并提交ASP.NET页面表单的源代码
- libcurl使用笔记
- 使用cwRsync实现windows下文件定时同步(备份)
- REST介绍
- java上传、下载、删除ftp文件
- (001):获取数据源
- 眼部带状疱疹
- DBsql数据库操作的方法
- java数字格式中文化