Carrotware.CMS.Core.TrackbackHelper.PostRequest C# (CSharp) Method

PostRequest() public method

public PostRequest ( Uri url, string postData ) : string
url System.Uri
postData string
return string
        public string PostRequest(Uri url, string postData)
        {
            if (postData == null) {
                throw new ArgumentNullException("postData");
            }

            Uri urlTB = FindTrackBackURL(url);
            if (urlTB == null && url != null) {
                urlTB = url;
            }

            string userAgent = SiteData.CarrotCakeCMSVersion + "; " + SiteData.CurrentSite.MainURL;

            ServicePointManager.Expect100Continue = false;
            HttpWebRequest request = WebRequest.Create(urlTB) as HttpWebRequest;

            request.UserAgent = userAgent;
            request.Timeout = 20000;
            request.Method = "POST";
            request.ContentLength = postData.Length;
            request.ContentType = "application/x-www-form-urlencoded; charset=utf-8";
            request.KeepAlive = true;

            using (StreamWriter myWriter = new StreamWriter(request.GetRequestStream())) {
                myWriter.Write(postData);
            }

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            if (response.StatusCode < HttpStatusCode.OK && response.StatusCode >= HttpStatusCode.Ambiguous) {
                throw new Exception(string.Format(response.StatusCode.ToString()));
            }

            var responseText = string.Empty;
            using (var reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII)) {
                responseText = reader.ReadToEnd();
            }

            return responseText;
        }

Usage Example

Ejemplo n.º 1
0
        public string SendTrackback()
        {
            if (this.BlogSite.SendTrackbacks)
            {
                string sCanonicalURL = this.BlogSite.ConstructedCanonicalURL(this.SourcePage);

                StringBuilder formParams = new StringBuilder();
                formParams.AppendFormat("blog_name={0}", HttpUtility.UrlEncode(this.BlogSite.SiteName));
                formParams.AppendFormat("&url={0}", HttpUtility.UrlEncode(sCanonicalURL));
                formParams.AppendFormat("&title={0}", HttpUtility.UrlEncode(this.SourcePage.NavMenuText));
                formParams.AppendFormat("&excerpt={0}", HttpUtility.UrlEncode(this.SourcePage.PageTextPlainSummary));

                TrackbackHelper client = new TrackbackHelper();

                return(client.PostRequest(this.DestinationUrl, formParams.ToString()));
            }
            else
            {
                return("site not currently configured to allow sending trackbacks");
            }
        }
All Usage Examples Of Carrotware.CMS.Core.TrackbackHelper::PostRequest