我是WP7的初学者。我需要向服务器发送请求。该请求包括用户名,密码和身份验证标头。如果成功,我会以xml格式从服务器获取一些数据。如何将请求发送到服务器?
答案 0 :(得分:4)
你肯定不应该使用WebClient
类,因为这会在UI线程上执行,因此会导致应用程序锁定,而不是查看HttpWebRequest
类。
这里有一个很好的例子:http://www.codeproject.com/Articles/156610/WP7-WebClient-vs-HttpWebRequest
要添加标头,您可以访问HttpWebRequest.Headers
属性,以便根据此http://devproj20.blogspot.com/2008/02/assigning-basic-authorization-http.html添加基本授权标头
或者,您可以使用HttpWebRequest.Credentials属性(有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.credentials.aspx)
您需要检查响应的状态代码以验证身份验证是否成功,因此您将访问HttpWebResponse.StatusCode
属性并查看它是否为401(未经授权)。
答案 1 :(得分:1)
试试这个:
WebClient webClient = new WebClient();
webClient.DownloadStringCompleted += (s, e) =>
{
string xml = e.Result;
};
webClient.DownloadStringAsync(new Uri("http://..." + your params));
答案 2 :(得分:-1)
void SendRequest()
{
WebClient wc = new WebClient();
wc.DownloadStringAsync(new Uri("http://somesite.com/webservice"));
wc.DownloadStringCompleted +=DownloadStringCompleted;
}
void DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
Debug.WriteLine("Web service says: " + e.Result);
}