如何在C#中获取会话ID?

时间:2018-07-26 22:08:21

标签: c# wpf sessionid

我确实搜索了几个小时的答案,但找不到一个可行的解决方案。 因此,我有一个WPF应用程序,该应用程序在登录后会下载页面源代码,但是在一个页面上,URL还包含会话ID,因此我无法正确访问该页面。

所以我有这堂课

public class CookieAwareWebClient : WebClient
{
    private CookieContainer cookie = new CookieContainer();


protected override WebRequest GetWebRequest(Uri address)
    {

        WebRequest request = base.GetWebRequest(address);


        if (request is HttpWebRequest)
        {
            (request as HttpWebRequest).CookieContainer = cookie;
        }
        return request;
    }

以及Mainwindow中的以下代码

            var client = new CookieAwareWebClient();
            client.BaseAddress = @"https://example.com";
            var loginData = new NameValueCollection();
            loginData.Add("loginname", "theloginname");
            loginData.Add("password", "thepassword");

            client.UploadValues("?lang=en", "POST", loginData); // the login

            // at this point i would like to reach the current session ID

            string htmlSource = 
            client.DownloadString("availability_calendar.html? 
            ses=bec42460feacad04ba2d57349d8a3326"); //that"s how i could reach it if i would know the current session ID

由于我不知道如何获取当前会话ID。它总是使我返回登录页面。 因此,如果我可以从Cookie或登录后出现的页面URL到达ID,我都将知道会话ID。 知道怎么做吗?

0 个答案:

没有答案
相关问题