public string PostRaw(Uri uri, IWebPostbackData postbackData, IDictionary <string, string> additionalHeaders, bool keepAlive) { var reqparm = postbackData.Data; var headers = _cookieAwareWebClient.Headers; _cookieAwareWebClient.Request.KeepAlive = keepAlive; if (additionalHeaders != null) { foreach (var item in additionalHeaders) { AddHeaderItemIfNotPresent(headers, item.Key, item.Value); } } // These are for debugging // ReSharper disable UnusedVariable var formPostValues = reqparm.AllKeys.SelectMany(name => reqparm.GetValues(name), (key, value) => new { key, value }).ToArray(); var headerValues = headers.AllKeys.SelectMany(name => headers.GetValues(name), (key, value) => new { key, value }).ToArray(); // ReSharper restore UnusedVariable var responseBytes = _cookieAwareWebClient.UploadValues(uri, reqparm); var content = Encoding.UTF8.GetString(responseBytes); return(content); }
public IWebPage Post(Uri uri, IWebPostbackData postbackData) { var content = PostRaw(uri, postbackData, null, true); var uriOfResponse = _cookieAwareWebClient.UriAfterRedirect; var page = MakeWebPageFromHtml(content, _cookieAwareWebClient.ResponseHeaders[HttpResponseHeader.SetCookie], uriOfResponse, _cookieAwareWebClient.Request); return(page); }
public string PostRaw(Uri uri, IWebPostbackData postbackData) { return(PostRaw(uri, postbackData, null, false)); }