2013-04-22 2 views
2

У меня есть строка, что мне нужно POST в Windows Phone 8. Это выглядит следующим образом:Простой POST HTTP в Windows Phone 8

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

Эта строка просто возвращает другую строку (то есть в формате XML, что я проанализируйте позже в моем коде).

Я до сих пор найти простое решение этой проблемы, как и в Windows 8.

Edit: Найдено решения моей проблемы с помощью от rciovati и в HttpClient библиотеки.

Вот мой простой код:

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

HttpWebRequest .... –

+0

У вас есть _simple_ пример этого использовали? – mjhannaf

+0

Я сделал, но это оказалось намного сложнее, чем в Windows 8. Если это объем помощи, которую вы можете предоставить, я понимаю. – mjhannaf

ответ

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.

+0

Спасибо. Работа для меня тоже –

+0

Это спасло мой день, спасибо вам большое – Mani

0

Вот довольно полезное сообщение в блоге от Andy Wigley о том, как сделать Http-сеть на Windows Phone 8. Библиотека обертки WinPhoneExtensions, о которой он говорит, в основном имитирует модель сетевого программирования async/await, которую вы можете сделать в Win8.

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