使用C#Windows应用商店应用程序通过POST将数据传输到Web服务器

使用C#Windows应用商店应用程序通过POST将数据传输到Web服务器,c#,windows-8,windows-runtime,httpclient,C#,Windows 8,Windows Runtime,Httpclient,我正在尝试通过POST将数据从Windows应用商店应用程序传输到Web服务器。 我尝试了以下方法: try { HttpClient httpClient = new HttpClient(); Stream stream = GenerateSampleStream(500); StreamContent streamContent = new StreamContent(str

我正在尝试通过POST将数据从Windows应用商店应用程序传输到Web服务器。 我尝试了以下方法:

            try
        {
            HttpClient httpClient = new HttpClient();

            Stream stream = GenerateSampleStream(500);
            StreamContent streamContent = new StreamContent(stream);

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "address/script.php");

            request.Content = streamContent;
            request.Headers.TransferEncodingChunked = true; // Assume we do not know the content length
            HttpResponseMessage response = await httpClient.SendAsync(request);

        }
private static MemoryStream GenerateSampleStream(int size)
        {
            // Generate sample data.
            byte[] subData = new byte[size];
            for (int i = 0; i < subData.Length; i++)
            {
                subData[i] = 64; // '@'
            }

            return new MemoryStream(subData);
        }

请澄清:1。您是否得到任何数据(例如,您显示的PHP代码是否被触发?)。当你在上面有“地址”时,那实际上是你服务器的地址?如果您使用Metro IE访问该服务器,您会得到响应吗?3.如果运行Fiddler,是否看到请求离开客户端?你能粘贴标题信息吗。它被触发了。我有一个else条款,它也给我发邮件。2.它是php文件的直接地址。麦德龙的一切都很好!3.Fiddler显示结果200,请求很好。我不太习惯使用fiddler,在哪里可以找到标题信息?我只是在fiddler中尝试了一些设置,我发现发送了500个字符(Inspectors->TextView)。但是我的PHP脚本似乎找不到它们。我应该使用什么标题?这意味着客户端至少正在以POST方式发送数据。您的错误(可能)在服务器上。一旦调用到达代理(Fiddler),客户端就无法真正施加控制。我能看到的唯一两个选择是:1。请求中存在一些损坏的内容,使得PHP认为它是post或2。您的PHP代码编写不正确。我的建议是:用你熟悉的技术(php?)编写一些简单的代码,发布到你的服务器上。如果效果如预期,请比较这两个标题,看看是否有突出的地方。如果没有突出的地方,请将完整的标题添加到你的文章中。我的直觉告诉我,问题在于你的内容类型没有设置。尝试使用FormUrlEncodedContent来完成您的帖子,而不是使用随机流。
if($_POST)   {
mail(...);
}