通过C#检查登录网站是否成功
本文关键字:是否 成功 网站 登录 检查 通过 | 更新日期: 2023-09-27 18:28:04
如何检查登录是成功还是失败,是使用cookie吗?这是我的代码:
const string baseurl = "http://maplestory.nexon.net/Default.aspx?PART=/Main";
CookieContainer cookie;
public Login(string user, string password)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(baseurl);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
string login = string.Format("userID={0}&password={1}&device_id={2}", user, password, "24275770-88e0-4e");
byte[] postbuf = Encoding.ASCII.GetBytes(login);
req.ContentLength = postbuf.Length;
Stream rs = req.GetRequestStream();
rs.Write(postbuf, 0, postbuf.Length);
rs.Close();
cookie = req.CookieContainer = new CookieContainer();
WebResponse resp = req.GetResponse();
resp.Close();
}
}
我不知道我是否真的登录了。顺便问一下,当前代码有什么问题吗?非常感谢。
在登录逻辑中,您通常会在响应中发送一个cookie,其中包含某种令牌,您可以在每个后续请求中检查这些令牌。
因此,在您的代码中,您可以创建一个身份验证cookie,并将其添加到您的响应中:
resp.Cookies.Add(new Cookie("authCookie", "myToken"));
看看Forms Authentication在ASP.NET中是如何工作的,以及使用MembershipProvider来处理您的身份验证。我不是MembershipProvider的超级粉丝,但它确实毫不费力地提供了很多基本的身份验证连接(尤其是如果您对默认的AD或SQL成员资格提供程序很满意的话)。
希望这能有所帮助!
更新如果我想检查用户是否已经登录,我需要检查他们的cookie集合,看看他们是否有有效的身份验证令牌/cookie。如果您使用表单身份验证,这将为您完成。如果您没有有效的cookie,您将被重定向回登录页面。