我正在尝试从Windows Phone应用程序对网站进行WebRequest。 但对我来说,从服务器获得响应也很重要。 这是我的代码:
Uri requestUri = new Uri(string.Format("http://localhost:8099/hello/{0}", metodo));
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(requestUri);
httpWebRequest.ContentType = "application/xml; charset=utf-8";
httpWebRequest.Method = "POST";
using (var stream = await Task.Factory.FromAsync<Stream>(httpWebRequest.BeginGetRequestStream,
httpWebRequest.EndGetRequestStream, null))
{
string xml = "<string xmlns=\"http://schemas.microsoft.com/2003/10/Serialization/\">Ahri</string>";
byte[] xmlAsBytes = Encoding.UTF8.GetBytes(xml);
await stream.WriteAsync(xmlAsBytes, 0, xmlAsBytes.Length);
}
不幸的是,我不知道如何从服务器获得响应。 有没有人有想法?
提前致谢。
感谢@max我找到了解决方案并想在上面分享。 以下是我的代码的样子:
string xml = "<string xmlns=\"http://schemas.microsoft.com/2003/10/Serialization/\">Claor</string>";
Uri requestUri = new Uri(string.Format("http://localhost:8099/hello/{0}", metodo));
string responseFromServer = "no response";
HttpWebRequest httpWebRequest = HttpWebRequest.Create(requestUri) as HttpWebRequest;
httpWebRequest.ContentType = "application/xml; charset=utf-8";
httpWebRequest.Method = "POST";
using (Stream requestStream = await httpWebRequest.GetRequestStreamAsync())
{
byte[] xmlAsBytes = Encoding.UTF8.GetBytes(xml);
await requestStream.WriteAsync(xmlAsBytes, 0, xmlAsBytes.Length);
}
WebResponse webResponse = await httpWebRequest.GetResponseAsync();
using (var reader = new StreamReader(webResponse.GetResponseStream()))
{
responseFromServer = reader.ReadToEnd();
}
我希望将来可以帮助某人。
答案 0 :(得分:2)
对于Windows手机应用中的新用户来说,这是一个非常常见的问题 发展。有几个网站提供了教程 同样但我想在这里给出一个小答案。
在 windows phone 8 xaml / runtime 中,您可以使用 HttpWebRequest 或 WebClient 来完成此操作。
基本上 WebClient 是 HttpWebRequest 的包装。
如果您有一个小请求,那么用户HttpWebRequest。它就像这样
HttpWebRequest request = HttpWebRequest.Create(requestURI) as HttpWebRequest;
WebResponse response = await request.GetResponseAsync();
using (var reader = new StreamReader(response.GetResponseStream()))
{
string responseContent = reader.ReadToEnd();
// Do anything with you content. Convert it to xml, json or anything.
}
虽然这是一个获取请求,但我发现你想要发布一个帖子请求,你必须修改几个步骤才能实现。
Visit this place for post request.
如果您需要Windows Phone教程,可以转到here. He writes awesome tuts.