<tfoot id='I4vgz'></tfoot>

    <i id='I4vgz'><tr id='I4vgz'><dt id='I4vgz'><q id='I4vgz'><span id='I4vgz'><b id='I4vgz'><form id='I4vgz'><ins id='I4vgz'></ins><ul id='I4vgz'></ul><sub id='I4vgz'></sub></form><legend id='I4vgz'></legend><bdo id='I4vgz'><pre id='I4vgz'><center id='I4vgz'></center></pre></bdo></b><th id='I4vgz'></th></span></q></dt></tr></i><div id='I4vgz'><tfoot id='I4vgz'></tfoot><dl id='I4vgz'><fieldset id='I4vgz'></fieldset></dl></div>

      1. <small id='I4vgz'></small><noframes id='I4vgz'>

        <legend id='I4vgz'><style id='I4vgz'><dir id='I4vgz'><q id='I4vgz'></q></dir></style></legend>

          <bdo id='I4vgz'></bdo><ul id='I4vgz'></ul>

        C# - Json POST 请求已发送但未被 PHP 服务器接收

        时间:2023-10-12

            <tfoot id='rHEhD'></tfoot>
              <tbody id='rHEhD'></tbody>
            <legend id='rHEhD'><style id='rHEhD'><dir id='rHEhD'><q id='rHEhD'></q></dir></style></legend>
            <i id='rHEhD'><tr id='rHEhD'><dt id='rHEhD'><q id='rHEhD'><span id='rHEhD'><b id='rHEhD'><form id='rHEhD'><ins id='rHEhD'></ins><ul id='rHEhD'></ul><sub id='rHEhD'></sub></form><legend id='rHEhD'></legend><bdo id='rHEhD'><pre id='rHEhD'><center id='rHEhD'></center></pre></bdo></b><th id='rHEhD'></th></span></q></dt></tr></i><div id='rHEhD'><tfoot id='rHEhD'></tfoot><dl id='rHEhD'><fieldset id='rHEhD'></fieldset></dl></div>

            <small id='rHEhD'></small><noframes id='rHEhD'>

                <bdo id='rHEhD'></bdo><ul id='rHEhD'></ul>

                  本文介绍了C# - Json POST 请求已发送但未被 PHP 服务器接收的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在从 C# windowsform 应用程序向托管在 OpenShift (Redhat) 上的 PHP 服务器发送 HTTP 请求.我正在使用 POST 方法和 Json 数据.

                  I am sending a HTTP request from a C# windowsform application to PHP server hosted on OpenShift (Redhat). I am using the method POST, with Json data.

                  问题在于:

                  • 数据似乎正确发送(我看到了wireshark中的数据包)
                  • php 脚本正确启动,我在日志中看到收到了一条 POST 消息
                  • 但是没有收到 POST 数据..

                  这里是 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);
                      }
                  }
                  

                  这是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';
                  }   
                  

                  函数总是返回:开始保存!没有找到POST数据".

                  The function always return : "Start Saving ! No POST Data Found".

                  这是服务器上的日志行:

                  这是wireshark中的一行:

                  有人看到问题了吗?如果我不清楚,请随时告诉我.会不会是 Openshift 拦截了数据?我的php文件有问题吗?

                  Is someone seeing the problem? Do not hesitate to tell me if I am not clear. Could it be Openshift which intercept the data ? Does my php file have a problem?

                  推荐答案

                  PHP 的 $_POST 不理解 JSON.

                  PHP's $_POST does not understand JSON.

                  你想要的是类似的东西

                  // Error handling is left as an exercise
                  $input = json_decode(file_get_contents('php://input'), true);
                  

                  然后您应该能够像使用 $_POST 那样使用 $input.请参阅 json_decode 以了解其他要旋转的旋钮.

                  You should then be able to use $input the way you seem to want to use $_POST. See json_decode for additional knobs to twiddle.

                  这篇关于C# - Json POST 请求已发送但未被 PHP 服务器接收的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:Symfony - 找不到表单请求的 url 下一篇:如何接收短信并根据短信内容拨打电话提醒某人?

                  相关文章

                    <bdo id='3wZXM'></bdo><ul id='3wZXM'></ul>
                  <legend id='3wZXM'><style id='3wZXM'><dir id='3wZXM'><q id='3wZXM'></q></dir></style></legend>

                  <tfoot id='3wZXM'></tfoot>

                    <i id='3wZXM'><tr id='3wZXM'><dt id='3wZXM'><q id='3wZXM'><span id='3wZXM'><b id='3wZXM'><form id='3wZXM'><ins id='3wZXM'></ins><ul id='3wZXM'></ul><sub id='3wZXM'></sub></form><legend id='3wZXM'></legend><bdo id='3wZXM'><pre id='3wZXM'><center id='3wZXM'></center></pre></bdo></b><th id='3wZXM'></th></span></q></dt></tr></i><div id='3wZXM'><tfoot id='3wZXM'></tfoot><dl id='3wZXM'><fieldset id='3wZXM'></fieldset></dl></div>
                    1. <small id='3wZXM'></small><noframes id='3wZXM'>