您的位置:首页 > 理论基础 > 计算机网络

模拟Http登录

2016-05-24 10:28 295 查看
<pre name="code" class="csharp">   class Program
{
private static CookieContainer m_Cookie = new CookieContainer();
static void Main(string[] args)
{
try
{
string url = "http://127.0.0.1:8001/Account/Login";//网址
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = @"MISE";
request.CookieContainer = m_Cookie;
request.Timeout = 30000;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
//获取要登录的页面内容 
var strResult = readStream.ReadToEnd().ToString();
if (request.HaveResponse)
{
//要提交的数据
var startIndex = strResult.IndexOf(@"hidden") + 15;
string token = strResult.Substring(startIndex, 108);
var session = response.Cookies;// request.CookieContainer;
string s = "UserName=18600000000&Password=000000&__RequestVerificationToken=" + token;//要提交的数据;

byte[] requestBytes = System.Text.Encoding.UTF8.GetBytes(s);
HttpWebRequest request22 = (HttpWebRequest)WebRequest.Create(url);
request22.Method = "POST";
request22.UserAgent = @"MISE";
request22.ContentType = "application/x-www-form-urlencoded";
request22.CookieContainer = m_Cookie;
request22.ContentLength = requestBytes.Length;

Stream requestStream = request22.GetRequestStream();
requestStream.Write(requestBytes, 0, requestBytes.Length);
requestStream.Flush();
requestStream.Close();

System.Threading.Thread.Sleep(1000);

HttpWebResponse res = (HttpWebResponse)request22.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.UTF8);
string backstr = sr.ReadToEnd();
Console.WriteLine(backstr);
sr.Close();
res.Close();
}
}
catch (Exception ex)
{
throw ex;
}
}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: