C#通过WebClient提交页面表单
来源:互联网 发布:c语言课程设计通讯录 编辑:程序博客网 时间:2024/05/16 09:50
C#提交表单
// 要提交表单的URI字符串。
string url= http://www.xxx.com/Guest.asp;
// 要提交的字符串数据。
string postString = "userName=test&Title=test&Content=test";
// 初始化WebClient
WebClient webClient = new WebClient();
webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
// 将字符串转换成字节数组
byte[] postData = Encoding.ASCII.GetBytes(postString);
// ASP.NET 返回的页面一般是Unicode,如果是简体中文应使用
// Encoding.GetEncoding("GB2312").GetBytes(postString)
// 上传数据,返回页面的字节数组
byte[] responseData = webClient.UploadData(uriString, "POST", postData);
// ASP.NET 返回的页面一般是Unicode,如果是简体中文应使用
// Encoding.GetEncoding("GB2312").GetString(responseData)
// 返回的将字节数组转换成字符串(HTML)
string srcString = Encoding.UTF8.GetString(responseData);
srcStrinig 就是提交表单后所返回页面的HTML。
提交ASP.NET表单时,必须给“__VIEWSTATE”和“__EVENTVALIDATION”赋值。“__VIEWSTATE”和“__EVENTVALIDATION”的值可以通过在要提交的页面上按右键“查看源文件”中找到。
// 提交按钮的文本
string submitButton = "登录";
// 页面的 VeiwState(可以通过IE打开页面,右键“查看源文件”取得)
string viewState = "/wEPDwUKMTg0NTgwMzM2M2RksjXHwIOzdq/skwDy1k6qTexm2j0=";
// 页面的 EventValidation(可以通过IE打开页面,右键“查看源文件”取得)
string eventValidation = "/wEWBAKxhbOEAQKPpuq2CALyveCRDwLejM6fDwP2723lUdzBJVBIAVzbpM2sXYqc";
submitButton = System.Web.HttpUtility.UrlEncode(submitButton);
viewState = System.Web.HttpUtility.UrlEncode(viewState);
eventValidation = System.Web.HttpUtility.UrlEncode(eventValidation);
访问第一页时,服务器会返回一个Cookies值,打开第二页时要向服务器提交访问
第一页时返回的Cookies,才能打开页面。可以这样解决:
打开第一页时:
byte[] buff=webclient.DownloadData(url);
string cookie=webclient.ResponseHeaders.Get("Set-Cookie");
向第二页发送请求时:
webclient.Headers.Add("Cookie", cookie);
- C#通过WebClient提交页面表单
- C# 利用WEBCLIENT 提交表单的方法
- C#模拟POST提交表单--WebClient
- C#模拟POST提交表单--WebClient
- C#模拟POST提交表单--WebClient
- 黄聪:C#模拟网站页面POST数据提交表单(一)--WebClient (转)
- C#模拟POST提交表单(一)--WebClient
- C#模拟POST提交表单(一)--WebClient
- C# WebClient UploadFile测试通过
- C# WebClient UploadFile测试通过
- 一个简单的表单提交页面,通过js进行验证
- 怎样通过HTM页面直接提交到Email的表单
- 通过超链接提交表单
- 通过超链接提交表单
- 通过超链接提交表单
- 通过超链接提交表单
- 通过JS提交表单
- jsp页面表单提交
- 跨游戏聊天系统
- wince 资源
- 全球近百所名校课件网络版
- 国际计算机会议排名--系统与高性能计算
- TSS翻译:帮我选一个Java Web开发框架吧
- C#通过WebClient提交页面表单
- 嵌入开发(WinCE)的一些经验[摘录]
- 获取通话记录
- webBrowser中模拟鼠标单击网页连接的代码
- 拥有微软Windows CE的实时系统
- 更改虚拟光驱与物理光驱的盘符
- 汉字转换为拼音缩写
- oracle 讨论char varchar varchar2 数据类型选用
- 总结iptables的应用