HttpClient PostAsync为json页面提供了一个空结果

时间:2013-11-22 01:56:17

标签: c# json windows-8 httpclient

我有以下设置:

服务器端

<?php

$array = ...;
header('Content-Type: application/json');
echo json_encode($array);

?>

客户端

在我的iPhone应用程序中,我成功连接到服务器端并解析了json并将其加载到NSDictionary中。

现在我想在C#中为Windows应用做同样的事情。我使用过这个测试代码:

public async void PostData(string url, string post) 
{
    HttpClient client = new HttpClient();
    var response = await client.PostAsync(url, new StringContent(post));
    response.EnsureSuccessStatusCode();

    string result = await response.Content.ReadAsStringAsync();
    Debug.WriteLine("RESULT|" + result + "|");
}

我试过了

PostData("http://www.mysite.com", "");

它返回了我网站的html。

但是当我通过

访问我的json网址时
PostData("http://www.mysite.com/api/", ""); 

字符串结果始终为空。

我不知道这里发生了什么。我的服务器端有些标头错了吗?或者为什么我的字符串结果总是空的?我该如何调试 - 请注意我是Windows开发的新手?

或者是否有更快的方式将json下载并保存到我的Windows应用程序中?

1 个答案:

答案 0 :(得分:0)

感谢Fiddler我发现,没有错误,但实际上是一个空字符串作为返回结果。

由于我的PHP实现,在使用Windows设备时返回了一个emtpy字符串。问题显然是服务器端。