/// <summary>
        /// Sends a track back message
        /// </summary>
        /// <param name="Message">Message to send</param>
        public static void SendTrackBack(TrackBackMessage Message)
        {
            Contract.Requires <ArgumentNullException>(Message != null, "Message");
            GetTrackBackURL(Message);
            HttpWebRequest Request = (HttpWebRequest)System.Net.HttpWebRequest.Create(Message.NotificationURL);

            Request.Credentials   = CredentialCache.DefaultNetworkCredentials;
            Request.Timeout       = 10000;
            Request.Method        = "POST";
            Request.ContentType   = "application/x-www-form-urlencoded";
            Request.ContentLength = Message.ToString().Length;
            Request.KeepAlive     = false;
            using (StreamWriter Writer = new StreamWriter(Request.GetRequestStream()))
            {
                Writer.Write(Message.ToString());
            }
            HttpWebResponse Response     = (HttpWebResponse)Request.GetResponse();
            string          ResponseText = "";

            using (System.IO.StreamReader Reader = new System.IO.StreamReader(Response.GetResponseStream()))
            {
                ResponseText = Reader.ReadToEnd();
            }
            if (Response.StatusCode == HttpStatusCode.OK)
            {
                if (!ResponseText.Contains("<error>0</error>"))
                {
                    throw new InvalidOperationException(ResponseText);
                }
            }
            else
            {
                throw new HttpException("HTTP Error occurred: " + Response.StatusCode.ToString());
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Sends a track back message
        /// </summary>
        /// <param name="Message">Message to send</param>
        public static void SendTrackBack(TrackBackMessage Message)
        {
            if (Message == null)
                throw new ArgumentException("Message can not be null.");

            GetTrackBackURL(Message);
            HttpWebRequest Request = (HttpWebRequest)System.Net.HttpWebRequest.Create(Message.NotificationURL);
            Request.Credentials = CredentialCache.DefaultNetworkCredentials;
            Request.Timeout = 10000;
            Request.Method = "POST";
            Request.ContentType = "application/x-www-form-urlencoded";
            Request.ContentLength = Message.ToString().Length;
            Request.KeepAlive = false;
            using (StreamWriter Writer = new StreamWriter(Request.GetRequestStream()))
            {
                Writer.Write(Message.ToString());
            }
            HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
            string ResponseText = "";
            using (System.IO.StreamReader Reader = new System.IO.StreamReader(Response.GetResponseStream()))
            {
                ResponseText = Reader.ReadToEnd();
            }
            if (Response.StatusCode == HttpStatusCode.OK)
            {
                if (!ResponseText.Contains("<error>0</error>"))
                {
                    throw new Exception(ResponseText);
                }
            }
            else
            {
                throw new Exception("HTTP Error occurred: " + Response.StatusCode.ToString());
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// Gets a trackback message
 /// </summary>
 /// <param name="Request">Request object</param>
 /// <returns>A trackback message</returns>
 public static TrackBackMessage GetTrackBack(HttpRequest Request)
 {
     TrackBackMessage Message = new TrackBackMessage();
     Message.Title = Request.Params["title"];
     Message.ID = Request.Params["id"];
     Message.Excerpt = Request.Params["excerpt"];
     Message.BlogName = Request.Params["blog_name"];
     if (Request.Params["url"] != null)
         Message.PostUrl = new Uri(Request.Params["url"].Split(',')[0]);
     return Message;
 }
        /// <summary>
        /// Gets a trackback message
        /// </summary>
        /// <param name="Request">Request object</param>
        /// <returns>A trackback message</returns>
        public static TrackBackMessage GetTrackBack(HttpRequest Request)
        {
            TrackBackMessage Message = new TrackBackMessage();

            Message.Title    = Request.Params["title"];
            Message.ID       = Request.Params["id"];
            Message.Excerpt  = Request.Params["excerpt"];
            Message.BlogName = Request.Params["blog_name"];
            if (Request.Params["url"] != null)
            {
                Message.PostUrl = new Uri(Request.Params["url"].Split(',')[0]);
            }
            return(Message);
        }
        private static void GetTrackBackURL(TrackBackMessage Message)
        {
            using (WebClient Client = new WebClient())
            {
                Client.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");
                string TempContent = Client.DownloadString(Message.NotificationURL);
                string TempURL     = TrackBackLink.Match(TempContent).Groups[1].ToString().Trim();
                Uri    TempURI;
                Uri.TryCreate(TempURL, UriKind.Absolute, out TempURI);
                Message.NotificationURL = TempURI;

                TempURL    = TrackBackID.Match(TempURL).Groups[1].ToString().Trim();
                Message.ID = TempURL;
            }
        }
Exemplo n.º 6
0
        private static void GetTrackBackURL(TrackBackMessage Message)
        {
            using (WebClient Client = new WebClient())
            {
                Client.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)");
                string TempContent = Client.DownloadString(Message.NotificationURL);
                string TempURL = TrackBackLink.Match(TempContent).Groups[1].ToString().Trim();
                Uri TempURI;
                Uri.TryCreate(TempURL, UriKind.Absolute, out TempURI);
                Message.NotificationURL = TempURI;

                TempURL = TrackBackID.Match(TempURL).Groups[1].ToString().Trim();
                Message.ID = TempURL;
            }
        }