Создаю запрос на сайт PHP: HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("site.ru"); request.Method = "POST"; Записываю отправляемые данные: PHP: byte[] requestByte = Encoding.GetEncoding(1251).GetBytes(zapros); request.ContentLength = requestByte.Length; Stream send = request.GetRequestStream(); send.Write(requestByte, 0, requestByte.Length); Читаю полученные данные: PHP: HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream()); Выскакивает исключение: Необработанное исключение: PHP: System.Net.ProtocolViolationException: Перед вызовом [Begin]GetResponse необходимо записать ContentLength байт в поток запроса. В чем проблема? подскажите пожалуйста
public string SendPost(string postData) { var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://site.com"); httpWebRequest.Method = "POST"; httpWebRequest.ContentType = "application/x-www-form-urlencoded"; var buffer = Encoding.ASCII.GetBytes(postData); httpWebRequest.ContentLength = buffer.Length; using (var writer = httpWebRequest.GetRequestStream()) { writer.Write(buffer, 0, buffer.Length); } using (var httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse()) { using (var stream = httpWebResponse.GetResponseStream()) { using (var reader = new StreamReader(stream, Encoding.GetEncoding(httpWebResponse.CharacterSet))) { return reader.ReadToEnd(); } } } }