使用Windows Phone App传递POST变量

时间:2014-12-02 14:55:12

标签: c# php windows-phone-8 windows-phone httpwebrequest

我正在尝试使用php脚本将Windows Phone App中的数据插入数据库。 这是我单击按钮时执行的C#代码。

var request = WebRequest.Create(new Uri("xxx/Insert.php")) as HttpWebRequest;
request.Method = "POST";
string postdata = "Title=test&CategoryID=1";
byte[] data = Encoding.UTF8.GetBytes(postdata);
using (var requestStream = await Task<Stream>.Factory.FromAsync(request.BeginGetRequestStream, request.EndGetRequestStream, request))
{
    await requestStream.WriteAsync(data, 0, data.Length);
}

我使用

在php脚本中获取变量
<?php
$title = $_POST["Title"];
$categoryID = $_POST["CategoryID"];
...
?>

有人遇到了同样的问题here,但解决方案无效,因为 1.)WebClient不适用于WP8 2.)第二个解决方案在App.i.g.cs中的行全局:: System.Diagnostics.Debugger.Break()

中抛出异常

问题根本没有发生。有没有人遇到同样的问题?

1 个答案:

答案 0 :(得分:0)

我使用System.Net.Http.HttpClient和System.Net.Http.FormUrlEncodedContent解决了问题。

using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("baseUrl.net");
                var content = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair<string, string>("Title", "test")
            });

                var result = await client.PostAsync("/insert.php", content);
                string resultContent = "result: "+result.Content.ReadAsStringAsync().Result;

编辑:等待客户端的PostAsync