I know this is the 21st century but I have a dilemma and need/want to figure out how to get the contents from an ajaxupdatepanel in asp.net. I have a solution to use a cookie container and as far as I know I am getting a 200 on sign-in and logging in as the cookies look the same as when I login with a browser. When I try and mimic the call to update the ajaxupdatepanel all I get back is a hidden field result.
I'm trying to set all the headers here:
internal void EnableCookies()
{
_cookieContainer = new CookieContainer();
_httpClientHandler = new HttpClientHandler() { CookieContainer = _cookieContainer };
_httpClient = new HttpClient(_httpClientHandler)
{
BaseAddress = _httpClient.BaseAddress
};
_httpClient.DefaultRequestHeaders.Accept.Clear();
_httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
_httpClient.DefaultRequestHeaders.Host = _httpClient.BaseAddress.Host;
_httpClient.DefaultRequestHeaders.Pragma.Clear();
_httpClient.DefaultRequestHeaders.Pragma.Add(new NameValueHeaderValue("no-cache"));
_httpClient.DefaultRequestHeaders.Add("X-MicrosoftAjax", "Delta=true");
_httpClient.DefaultRequestHeaders.Add("X-Requested-With", "XMLHttpRequest");
_httpClient.DefaultRequestHeaders.UserAgent.Clear();
_httpClient.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue("Mozilla","5.0"));
}
then I'm logging in
and this is the code for getting the results from the update panel:
var parameters = new Dictionary<string, string>()
{
{"rsmDefault","ctl01$ctl01$rapClientListingPanel|ctl01$btnSearchCB" },
{"rsmDefault_TSM",";;System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35:en-US:9ead301a-2c07-4fc5-be19-f8423a34e117:ea597d4b:b25378d2;Telerik.Web.UI, Version=2017.1.228.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en-US:9b079822-de39-4bcd-8fe7-140304f92fca:16e4e7cd:ed16cbdc:33715776:f7645509:24ee1bba:e330518b:2003d0b8:c128760b:1e771326:88144a7a:c8618e41:1a73651d:333f8d94\r\nrssmDefault_TSSM: ;Telerik.Web.UI, Version=2017.1.228.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en-US:9b079822-de39-4bcd-8fe7-140304f92fca:ed2942d4:45085116;Telerik.Web.UI.Skins, Version=2017.1.228.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4:en-US:778405ba-8cbf-49e0-9f73-be123fc3ccd6:c5e84dda" },
{"__LASTFOCUS","" },
{"__EVENTTARGET","ctl01$btnSearchCB" },
{"__EVENTARGUMENT","" },
{"__CEVIEWSTATE","27860988" },
{"__VIEWSTATE","" },
{"navigation_navMenu_ClientState","" },
{"ctl01$txtUrl","" },
{"ctl01$txtSiteName","" },
{"ctl01$drpAM","0" },
{"ctl01$txtSiteID",siteId.ToString() },
{"ctl01$txtFacID","" },
{"ctl01$txtCSSSheet","" },
{"ctl01$radActive","active" },
{"ctl01$chkShowDemos","on" },
{"ctl01$chkFacID","on" },
{"ctl01$chkSiteID","on" },
{"ctl01$chkSiteName","on" },
{"ctl01$chkUrl","on" },
{"ctl01$chkShard","on" },
{"ctl01$chkAM","on" },
{"ctl01$chkSR","on" },
{"ctl01$chkCOS","on" },
{"ctl01$chkIC","on" },
{"ctl01$chkPM","on" },
{"ctl01$chkNC","on" },
{"ctl01$chkResPM","on" },
{"__ASYNCPOST","true" },
{"RadAJAXControlID","ctl01_rapClientListing" }
};
var response = await PostAsync("default.aspx?p=ClientListing&Letter=A", parameters);