我确实搜索了几个小时的答案,但找不到一个可行的解决方案。 因此,我有一个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。 知道怎么做吗?