Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
 public string PostRaw(Uri uri, IWebPostbackData postbackData)
 {
     return(PostRaw(uri, postbackData, null, false));
 }