做过自动登录的进~~~~整了一天都没整出来。。。
自动登陆post数据后,可以返回登陆后的url,但用Process.Start()打开这个url后提示没有的登陆,我想原因是CookieHeader并没有还原回去,有什么方法可以CookieHeader一起提交并打开页面呢?
代码:
string cookieheader;
request = WebRequest.Create(url) as HttpWebRequest;
request.AllowAutoRedirect = true;
request.Method = "POST ";
request.ContentType = "application/x-www-form-urlencoded ";
CookieContainer cookieCon = new CookieContainer();
request.ContentLength = data.Length;
request.CookieContainer = cookieCon;
outstream = request.GetRequestStream();
outstream.Write(data, 0, data.Length);
outstream.Close();
//发送请求并获取相应回应数据
response = request.GetResponse() as HttpWebResponse;
cookieheader = request.CookieContainer.GetCookieHeader(new Uri(url));
request.CookieContainer.SetCookies(new Uri(response.ResponseUri.ToString()),cookieheader);
//直到request.GetResponse()程序才开始向目标网页发送Post请求
System.Diagnostics.Process.Start(response.ResponseUri.ToString());
------解决方案--------------------给你一段代码看看吧
/// <summary>
/// 获取指定地址的html
/// </summary>
/// <param name= "URL "> </param>
/// <param name= "PostData "> </param>
/// <param name= "encoding "> </param>
/// <returns> </returns>
public string GetHTML(string URL, string PostDat