Windows Phone 8中的简单HTTP POST

时间:2013-04-22 01:50:16

标签: c# windows-phone-8 http-post

我有一个字符串,我需要在Windows Phone 8中POST。它看起来像这样:

https://www.scoreoid.com/api/getPlayers?api_key=[apiKey]&game_id=[gameID]&response=xml&username=[username]&password=[password]

此字符串只返回另一个字符串(格式为XML,我稍后在代码中解析)。

我还没有像在Windows 8中那样找到一个简单的解决方案。

修改:在rciovati和HttpClient库的帮助下找到解决问题的方法。

这是我的简单代码:

        var httpClient = new HttpClient();
        return await httpClient.GetStringAsync(uri + "?" + post_data);

2 个答案:

答案 0 :(得分:24)

使用新的Http Client Library非常简单:

var values = new List<KeyValuePair<string, string>>
                    {
                        new KeyValuePair<string, string>("api_key", "12345"),
                        new KeyValuePair<string, string>("game_id", "123456")
                    };

var httpClient = new HttpClient(new HttpClientHandler());
HttpResponseMessage response = await httpClient.PostAsync(url, new FormUrlEncodedContent(values));
response.EnsureSuccessStatusCode();
var responseString = await response.Content.ReadAsStringAsync();

您可以找到有关此库here的其他信息。

答案 1 :(得分:0)

以下是来自Andy Wigley的关于如何在Windows Phone 8上进行Http网络的非常有用的博客文章。他所说的WinPhoneExtensions包装库基本上模拟了你可以在Win8中进行的网络编程的异步/等待模型。 / p>

http://blogs.msdn.com/b/andy_wigley/archive/2013/02/07/async-and-await-for-http-networking-on-windows-phone.aspx