C# - 通过https使用REST Web服务

时间:2009-08-11 11:46:19

标签: c# web-services rest https

在C#中使用安全REST Web服务的最佳方法是什么? URL服务用户名和密码在URL ...

中提供

4 个答案:

答案 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。

你还能要求什么?