如何使用Login Cookie登录并执行POST请求

时间:2013-09-26 20:33:27

标签: c# webclient

我正在尝试创建一个登录该网站的机器人,登录后将在该网站上发出POST请求。

我想使用WebClient或类似的东西。 我想登录并执行POST请求的网站是“https://login.sabanciuniv.edu/cas/login

如果我能检查登录过程是否成功,那也很酷。

(如果有任何语法或语言特定的错误,请原谅我,我不是本地人:))

的Oguzhan(的Oguzhan)

1 个答案:

答案 0 :(得分:1)

通过扩展webclient创建一个cookieawarewebclient:

private class CookieAwareWebClient : WebClient
{
    public CookieAwareWebClient()
        : this(new CookieContainer())
    { }
    public CookieAwareWebClient(CookieContainer c)
    {
        this.CookieContainer = c;
    }
    public CookieContainer CookieContainer { get; set; }

    protected override WebRequest GetWebRequest(Uri address)
    {
        WebRequest request = base.GetWebRequest(address);

        var castRequest = request as HttpWebRequest;
        if (castRequest != null)
        {
            castRequest.CookieContainer = this.CookieContainer;
        }

        return request;
    }
}

并创建一个模拟登录的帖子请求。为此你可以使用Fiddler,你可以看到单击提交按钮时发生的确切事情,你只需在代码中执行相同操作。