问题描述
模拟成功了,但是登录后,跳转到另一个页面,无session所以提示未登录,求帮助!登录地址:http://eo.gyyx.cn/Page/User/Login.aspx代码如下://提交按钮的文本stringuser=TextBox1.Text;stringpass=TextBox2.Text;stringsubmitButton="登录";//页面的VeiwState(可以通过IE打开页面,右键“查看源文件”取得)stringviewState="/wEPDwUKLTMzNDE0ODA3MmRkndBGE0jo1koODs0zlCY7efKhThU=";//页面的EventValidation(可以通过IE打开页面,右键“查看源文件”取得)stringeventValidation="/wEWBAKNnPiODgKUj8fhDAKd+7qdDgKC3IeGDKKXCGfrxXWjRKVCiqK78H3lXLMl";submitButton=System.Web.HttpUtility.UrlEncode(submitButton);viewState=System.Web.HttpUtility.UrlEncode(viewState);eventValidation=System.Web.HttpUtility.UrlEncode(eventValidation);try{//要提交表单的URI字符串。stringuriString="http://eo.gyyx.cn/Page/User/Login.aspx";stringpostString="txtAccount="+user+"&txtPwd="+pass+""+"&btnLogin="+submitButton+"&__VIEWSTATE="+viewState+"&__EVENTVALIDATION="+eventValidation;//初始化WebClientWebClientwebClient=newWebClient();webClient.Headers.Add("Content-Type","application/x-www-form-urlencoded");webClient.Headers.Add("User-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1;.NETCLR2.0.50727;.NETCLR3.0.04506.648;.NETCLR3.5.21022;.NET4.0C;.NET4.0E)");//将字符串转换成字节数组byte[]postData=Encoding.ASCII.GetBytes(postString);//上传数据,返回页面的字节数组byte[]responseData=webClient.UploadData(uriString,"POST",postData);//将返回的将字节数组转换成字符串(HTML);//ASP.NET返回的页面一般是Unicode,如果是简体中文应使用//Encoding.GetEncoding("GB2312").GetString(responseData)stringsrcString=Encoding.UTF8.GetString(responseData);}catch(WebExceptionwe){stringmsg=we.Message;}
解决方案
解决方案二:
现在能模拟登录了,但是我提交表单不成功。有模拟登录后提交表单的例子吗?
解决方案三:
CSDNReader*****************************************************************************欢迎使用CSDN论坛专用阅读器:CSDNReader(附全部源代码)http://feiyun0112.cnblogs.com/