在C#中使用安全REST Web服务的最佳方法是什么? URL服务用户名和密码在URL ...
中提供答案 0 :(得分:5)
有几个选择:
HttpWebRequest类。功能强大但有时使用起来很复杂。
WebClient类。功能较少,但应该适用于更简单的Web服务,并且更简单。
WCF REST入门套件中的新HttpClient。 (入门套件是单独下载,而不是.NET Framework的一部分。)
答案 1 :(得分:2)
使用WebRequest类发出请求,并使用HttpWebResponse获取响应。
我使用以下代码来使用webservice.My用户名,密码和Url分别保存在变量UserName,Pwd和Url中。
WebRequest Webrequest;
HttpWebResponse response;
Webrequest = WebRequest.Create(Url);
byte[] auth1 = Encoding.UTF8.GetBytes(UserName + ":" + Pwd);
Webrequest.Headers["Authorization"] = "Basic " + System.Convert.ToBase64String(auth1);
Webrequest.Method = "GET";
Webrequest.ContentType = "application/atom+xml";
response = (HttpWebResponse)Webrequest.GetResponse();
Stream streamResponse = response.GetResponseStream();
StreamReader streamReader = new StreamReader(streamResponse);
string Response = streamReader.ReadToEnd();
响应字符串将在变量Response
中可用。
答案 2 :(得分:1)
我希望URL中的密码是somwhow加密:)。也许这会对你有所帮助:
http://social.msdn.microsoft.com/forums/en-US/wcf/thread/3c8db0bf-984e-426b-b068-d80165ed1b37/
答案 3 :(得分:0)
根据您提供的少量信息,我会说使用HttpWebRequest类是您的最佳选择。
它相对易于使用,有很多如何使用它的示例,它可以与REST接口提供的任何媒体类型一起使用。您可以完全访问Http状态代码和Http Headers。
你还能要求什么?