【问题标题】:How can a c# client receive http POST?c#客户端如何接收http POST?
【发布时间】:2016-12-15 23:16:45
【问题描述】:

我目前正在开发一个简单的应用程序,以使我的生活更轻松。我制作了一个 android 应用程序,它可以让我选择一个文件并将其上传到服务器。我正在开发一个 Windows PC c# 应用程序,它将它的 ip(动态)和它的开放端口发送到我的服务器。 每当服务器从我的手机接收到文件时,我希望它向我的 PC 发送一个 POST 请求。

我对网络东西还很陌生(虽然我之前做过大量的编码),但据我所知,只有服务器可以接收 POST 请求。 如何制作一个在我的 PC 上运行并具有动态 IP 并接收 POST 请求的 C# 服务器?

我已经为此苦苦挣扎了一段时间,我应该研究一些简单的关键字会很有帮助,谢谢。

【问题讨论】:

  • 如果您希望服务器响应您的客户端,您可能需要查看 SignalR。
  • 你也可以使用 Postman 来测试 RESTful api。

标签: c# http server request client


【解决方案1】:

HTTP 是一种让 Web 服务器和客户端进行通信的协议。它要求您有一个 Web 服务器(IIS、Apache 或其他)来响应客户端的 http 请求。

客户端可以发送GET、POST等请求类型的消息。

首选方法是使用WebClient 类发送Web 客户端。这是从Andrew 给出的另一个答案中提取的样本

string URI = "site.com/mail.php";
using (WebClient client = new WebClient())
{
    System.Collections.Specialized.NameValueCollection postData = 
        new System.Collections.Specialized.NameValueCollection()
       {
              { "to", emailTo },  
              { "subject", currentSubject },
              { "body", currentBody }
       };
    string pagesource = Encoding.UTF8.GetString(client.UploadValues(URI, postData));
}

【讨论】:

    【解决方案2】:

    我会使用 WebAPI、SignalIR、WCF 或 ASMX Web 服务创建某种服务器应用程序。所有这些都可以处理服务器/客户端通信,并且可以轻松与您的设备通信。

    【讨论】:

      猜你喜欢
      • 2020-12-26
      • 2019-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多