NULL JSON отправлен на сервер PHP, используя HTTP-запросы от C #

Я пытаюсь опубликовать строку JSON на странице PHP, используя методы ответа HTTP следующим образом:

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net; using System.IO; using System.Web.Script.Serialization; using System.Web; namespace http_requests { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://localhost/abc/products.php"); //httpWebRequest.ContentType = "application/json"; //httpWebRequest.Method = "POST"; //using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) //{ // string json = new JavaScriptSerializer().Serialize(new // { // user = "Foo", // password = "Baz" // }); // streamWriter.Write(json); // streamWriter.Flush(); // streamWriter.Close(); // var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); // using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) // { // var result = streamReader.ReadToEnd(); // } //} HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://localhost/ABC/products.php"); request.Method = WebRequestMethods.Http.Post; string DataToPost = new JavaScriptSerializer().Serialize(new { user = "Foo", password = "Baz" }); byte[] bytes = Encoding.UTF8.GetBytes(DataToPost); string byteString = Encoding.UTF8.GetString(bytes); Stream os = null; //string postData = "firstName=" + HttpUtility.UrlEncode(p.firstName) + request.ContentLength = bytes.Length; request.ContentType = "application/x-www-form-urlencoded"; os = request.GetRequestStream(); os.Write(bytes, 0, bytes.Length); //StreamWriter writer = new StreamWriter(request.GetRequestStream()); //writer.Write(DataToPost); //writer.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //StreamReader reader = new StreamReader(response.GetResponseStream()); using (var streamReader = new StreamReader(response.GetResponseStream())) { var result = streamReader.ReadToEnd(); richTextBox1.AppendText("R : " + result); Console.WriteLine(streamReader.ReadToEnd().Trim()); } //richTextBox1.Text = response.ToString(); } } } 

Я попробовал это по-разному (преобразование в байты тоже), но все равно помещает массив NULL.

Код PHP:

 <?php $json = $_POST; if (isset($json)) { echo "This var is set so I will print."; //var_dump($json); var_dump(json_decode(file_get_contents('php://input'))); } ?> 

Когда я пытаюсь получить ответ от сервера и печатать на текстовое поле, он печатает правильно:

R: Этот var установлен так, что я буду print.object (stdClass) # 1 (2) {["user"] => string (3) "Foo" ["password"] => string (3) "Baz"}

но я не могу проверить это на моей странице PHP, он говорит: Этот var установлен так, что я буду печатать. NULL

Не уверен, что публикация JSON на PHP или нет, но он уверен, что сообщения имеют NULL. Я хочу увидеть JSON на странице PHP, любая помощь будет оценена по достоинству.

Спасибо, Revathy

Related of "NULL JSON отправлен на сервер PHP, используя HTTP-запросы от C #"