WIndows Телефон: запрос POST не работает

109
13

Я пытаюсь отправить ссылку уведомления и идентификатор устройства в сценарий в Интернете через запрос POST. проблема в том, что скрипт получает только пустые параметры. Я последовал за другим примером, и мой код выглядит так:

WebClient wc = new WebClient();
System.Diagnostics.Debug.WriteLine("sending rquest");
var URI = new Uri("http://www.jack-prove.comuv.com/update_link.php");
wc.UploadStringCompleted += new UploadStringCompletedEventHandler(wc_UploadStringCompleted);
byte[] myDeviceID = (byte[])Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("DeviceUniqueId");
string ID = Convert.ToBase64String(myDeviceID);
String par = "?link=" + e.ChannelUri.ToString() + "&ID=" + ID;
MessageBox.Show(par);
wc.UploadStringAsync(URI, "POST", par);

ПРИМЕЧАНИЕ: строка ID содержит символ '=' charater, если это проблема? я попытался вызвать скрипт из Интернета, и он работает даже с '='

Есть идеи?

спросил(а) 2021-01-25T19:15:04+03:00 4 месяца, 3 недели назад
1
Решение
99

Решенный, благодаря этому вопросу

с использованием клиентской библиотеки Http

using System.Net.Http;
var values = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("link", e.ChannelUri.ToString()),
new KeyValuePair<string, string>("ID", ID)
};
var httpClient = new HttpClient(new HttpClientHandler());
HttpResponseMessage response = await httpClient.PostAsync(URI, new FormUrlEncodedContent(values));
response.EnsureSuccessStatusCode();
var responseString = await response.Content.ReadAsStringAsync();

ответил(а) 2021-01-25T19:15:04+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема