我有以下代码用于在 WP7 下处理简单的帖子:
private void goto_login(object sender, RoutedEventArgs e)
{
WebClient webClient = new WebClient();
webClient.Headers["Content-Type"] = "text/xml";
var uri = new Uri("http://example.com/wp_login", UriKind.Absolute);
StringBuilder postData = new StringBuilder();
postData.AppendFormat("{0}={1}", "username", HttpUtility.UrlEncode(username_box.Text));
postData.AppendFormat("&{0}={1}", "password", HttpUtility.UrlEncode(password_box.Password));
webClient.Headers[HttpRequestHeader.ContentLength] = postData.Length.ToString();
webClient.UploadStringCompleted += new UploadStringCompletedEventHandler(webClient_UploadStringCompleted);
webClient.UploadProgressChanged += webClient_UploadProgressChanged;
webClient.UploadStringAsync(uri, "POST", postData.ToString());
}
void webClient_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e)
{
Debug.WriteLine("result: "+e.Result);
}
void webClient_UploadProgressChanged(object sender, UploadProgressChangedEventArgs e)
{
Debug.WriteLine(string.Format("Progress: {0} ", e.ProgressPercentage));
}
在 PHP 方面,脚本只是执行以下操作:
var_dump($_POST);
这样做时,我总是会从服务器得到一个空数组。如果有什么区别,我会在模拟器而不是设备上运行它。我在这里做错了什么?
最佳答案
如果有人碰巧通过这个问题寻找答案,这就是问题所在:
webClient.Headers["Content-Type"] = "text/xml";
应改为:
webClient.Headers["Content-Type"] = "application/x-www-form-urlencoded";
关于c# - 来自 WP7 应用程序的帖子是一个空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13390675/