0

POST リクエストを介して Web 上のスクリプトに通知リンクと deviceID を送信しようとしています。問題は、スクリプトが空のパラメーターのみを受け取ることです。私は別の例に従いましたが、私のコードは次のようになります。

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 文字列に「=」文字が含まれています。これが問題でしょうか? 私はウェブからスクリプトを呼び出そうとしましたが、「=」でも機能します

何か案が?

4

1 に答える 1

0

この質問のおかげで解決しました

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();
于 2013-09-20T09:00:07.777 に答える