【问题标题】:Receiving post from C# into PHP从 C# 接收帖子到 PHP
【发布时间】:2011-07-07 14:00:43
【问题描述】:

这就是我想要做的。我设置了一个程序(它可以工作,甚至可以发布到我没有代码的演示页面并返回正确的值,很快就会发布代码)并且使用我正在使用的代码,我不能查找有关如何从 PHP 读取帖子并将变量返回给 c#(用于测试阶段)的任何信息。我的最终目标是从帖子中收集信息并将其发送到与 getpost.php 页面相同的站点上的其他页面。如果有人可以帮助我解决这个问题,我将不胜感激。

class WebPostRequest
{
    WebRequest theRequest;
    HttpWebResponse theResponse;
    ArrayList theQueryData;

    public WebPostRequest(string url)
    {
        theRequest = WebRequest.Create(url);
        theRequest.Method = "POST";
        theQueryData = new ArrayList();
    }

    public void Add(string key, string value)
    {
        theQueryData.Add(String.Format("{0}={1}", key, System.Web.HttpUtility.UrlEncode(value)));
    }

    public string GetResponse()
    {
        // Set the encoding type
        theRequest.ContentType = "application/x-www-form-urlencoded";

        // Build a string containing all the parameters
        string Parameters = String.Join("&", (String[])theQueryData.ToArray(typeof(string)));
        theRequest.ContentLength = Parameters.Length;

        // We write the parameters into the request
        StreamWriter sw = new StreamWriter(theRequest.GetRequestStream());
        sw.Write(Parameters);
        sw.Close();

        // Execute the query
        theResponse = (HttpWebResponse)theRequest.GetResponse();
        StreamReader sr = new StreamReader(theResponse.GetResponseStream());
        return sr.ReadToEnd();
    }

}

就像我说的,在测试页面上,一切正常,帖子被接收到测试页面并传输回我的程序。

***更新:::

好的,我在我的网站上安装了 php,用于从 C# 应用程序收集 POST 信息。现在我需要将该信息转发到我的其他网页并将用户重定向到我的其他网页,以便他们可以完成他们的会话并完成他们访问我网站的原因。

【问题讨论】:

  • 我发现您想要做什么的描述令人困惑。您似乎在两种情况下使用post:http POST 数据和在互联网上发布的日常使用。您显示的 c# 代码看起来像一个客户端应用程序。您想知道如何制作一个接受 http POST 数据的服务器托管 php 页面吗?还请解释您为什么要接受并回显相同的数据。
  • 是的,我正在开发的这个应用程序是为了帮助诊断计算机问题。它从客户端收集简单信息并将其报告回服务器,报告它收到了信息,然后重定向到继续页面以通过 php 服务器端进一步诊断其余部分。全部在会话中完成,以在用户退出网站时销毁所有信息。
  • 我不知道你需要什么。在我看来,这段代码工作正常。您如何在 PHP 中调试 C# 的数据接收?
  • 其实我喜欢我只是想通了。我正在做的是来自应用程序,我将信息发送到 php getpost 页面,然后 getpost 页面将其写入 mysql 数据库,然后用户继续访问他们访问的网页以获取诊断应用程序。因此不重定向只是继续。

标签: c# php post get


【解决方案1】:

PHP 和其他来源的发布数据有时会以奇怪的方式运行。 要定位你的问题,你可以这样做:

$post_from_c = json_decode(trim(file_get_contents('php://input')), true);

file_get_contents('php://input') 表示获取的是原始数据,而不是apache处理后的数据。

【讨论】:

    【解决方案2】:

    我想通了。我所做的是在 PHP 中收集帖子并将其发送到临时数据库,并从客户端已经使用 IP 和客户端密码访问的页面调用信息(以消除同一 IP 地址上的多台计算机) 然后我创建了一个 cron 作业以在一定时间后擦除所有数据,在我的情况下,我将其设置为 3 小时,因为无论如何在那段时间里没有人应该在网站上。

    【讨论】:

      猜你喜欢
      • 2015-08-26
      • 2015-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      相关资源
      最近更新 更多