通过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();
    }

}

我不知道我是否真的登录了。顺便问一下,当前代码有什么问题吗?非常感谢。

通过C#检查登录网站是否成功

在登录逻辑中,您通常会在响应中发送一个cookie,其中包含某种令牌,您可以在每个后续请求中检查这些令牌。

因此,在您的代码中,您可以创建一个身份验证cookie,并将其添加到您的响应中:

resp.Cookies.Add(new Cookie("authCookie", "myToken"));

看看Forms Authentication在ASP.NET中是如何工作的,以及使用MembershipProvider来处理您的身份验证。我不是MembershipProvider的超级粉丝,但它确实毫不费力地提供了很多基本的身份验证连接(尤其是如果您对默认的AD或SQL成员资格提供程序很满意的话)。

希望这能有所帮助!

更新如果我想检查用户是否已经登录,我需要检查他们的cookie集合,看看他们是否有有效的身份验证令牌/cookie。如果您使用表单身份验证,这将为您完成。如果您没有有效的cookie,您将被重定向回登录页面。