2013-11-22 28 views
0

我有以下設置:HttpClient的PostAsync讓我對JSON頁空結果

服務器端

<?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。

但是當我通過

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

訪問我的JSON的URL字符串結果總是空的。

我不知道這裏發生了什麼。我的服務器端有一些標題錯誤?或者爲什麼我的字符串結果總是空的?我將如何調試 - 請注意,我是Windows開發新手?

還是有更快的方式下載並保存JSON到我的Windows應用程序?

+0

小提琴手告訴你什麼? –

+0

如何將字符集添加到Content-Type響應中? PHP使用發送ISO8859-1響應,而.NET通常期望UTF-8。 – kiewic

+0

我已經在PHP腳本中添加了charset utf-8,但這似乎沒有幫助。我不知道小提琴手,我得仔細研究它...... – andreas

回答

0

感謝Fiddler我發現,沒有錯誤,但真的是一個空字符串作爲返回結果。

由於我的PHP實現使用Windows設備時返回了一個非空字符串。問題顯然是服務器端。