Оставить комментарий на WordPress Blogs - PullRequest
0 голосов
/ 24 мая 2011

Я работал над проектом, в котором я должен публиковать комментарий в WordPress блоге, который должен содержать текст, введенный пользователем в текстовое поле. Я пытался использовать HttpWebRequest, но он не работает и возвращает 404 не найденДаже ссылка не битая. Вот мой код

для целей тестирования, я жестко закодировал записи в string post

 string post = "author=" + HttpUtility.UrlEncode("afnan") + "&email=" + HttpUtility.UrlEncode("ifi@ifi.com") + "&url=" + HttpUtility.UrlEncode("abcd.com") +
                    "&comment=" + HttpUtility.UrlEncode("no comments");
                HttpWebRequest wrWebRequest = WebRequest.Create("http://testing.autoprofitbot.com/blogtest/2011/05/13/call-3-computer-repair-services-put-to-test-4/wp-comments-post.php?") as HttpWebRequest;

                wrWebRequest.Method = "POST";
                wrWebRequest.ContentLength = post.Length;
                wrWebRequest.ContentType = "application/x-www-form-urlencoded";
                wrWebRequest.CookieContainer = new CookieContainer();

                //// Post to the login form.
                StreamWriter swRequestWriter = new
                StreamWriter(wrWebRequest.GetRequestStream());
                swRequestWriter.Write(post);
                swRequestWriter.Close();

                // Get the response.
                HttpWebResponse hwrWebResponse =
                (HttpWebResponse)wrWebRequest.GetResponse();

                // Have some cookies.
                CookieCollection ccCookies = hwrWebResponse.Cookies;

                // Read the response
                StreamReader srResponseReader = new
                StreamReader(hwrWebResponse.GetResponseStream());
                string strResponseData = srResponseReader.ReadToEnd();
                srResponseReader.Close();
                webBrowser1.DocumentText = strResponseData;

1 Ответ

1 голос
/ 25 мая 2011

Есть 3 проблемы с вашим кодом:

  1. в почтовых данных отсутствуют 2 параметра
  2. WebRequest.Create не правильно
  3. URL-адрес реферера отсутствует; используйте livehttpheaders или httpfox, чтобы получить правильный формат заголовков!
...