C # – Pedido JSS POST enviado mas não recebido pelo servidor PHP

Estou enviando uma solicitação HTTP de um aplicativo CW windowsform para servidor PHP hospedado em OpenShift (Redhat). Estou usando o método POST, com dados Json.

O problema é que :

  • os dados pareciam ser enviados corretamente (vejo os pacotes no wireshark)
  • O script php está corretamente iniciado e vejo no log que uma mensagem POST é recebida
  • mas nenhum dado POST está sendo recebido ..

Aqui está o código C # :

string json = "{\"user\":\"test\"," + "\"n\":\"2\"}"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://........rhcloud.com/webservices.php"); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = json.Length; using (var streamWriter = new StreamWriter(request.GetRequestStream())) { streamWriter.Write(json); streamWriter.Close(); var httpResponse = (HttpWebResponse)request.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); Debug.WriteLine("R : " + result); } } 

Aqui está o código PHP :

 echo "Start Saving ! "; // Handle Posted Data From C# App if (isset($_POST) && !empty($_POST)) { echo 'Data Recieved'; } else { // Error echo 'No POST Data Found'; } 

A function sempre retorna : “Start Saving! No POST Data Found”.

Aqui está a linha de log no servidor : https://dl.dropboxusercontent.com/u/14737942/log.png

Aqui está a linha em wireshark : https://dl.dropboxusercontent.com/u/14737942/Wireshark_capture.png

Alguém está vendo o problema? Não hesite em me dizer se não estou claro. Poderia ser o Openshift que intercepta os dados? O meu arquivo php tem um problema?